Na especificação do modelo, identificação, graus de liberdade e regularização

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

[ad_1]

Eu me diverti muito esta semana, revisitando esta postagem do blog (simulação de Monte Carlo de um modelo de taxas de juros de dois fatores com o ESGtoolkit) que escrevi alguns anos atrás em 2014 – que de alguma forma gerou uma onda de calor. Este post de 2020 é sobre modelo especificação, identificação, graus de liberdade e regularização. A primeira parte está em Simulação de Monte Carlo para precificação financeirae a segunda parte sobre otimização em redes neurais de aprendizagem profunda. Não vou tirar muitas conclusões aqui, mas vou deixar você tirar as suas. Claro, fique à vontade para alcançar se algo parece / soa errado para você. Essa ainda é a melhor maneira de lidar com problemas.

Simulação de um modelo de taxas curtas G2 ++

Vamos começar carregando ESGtoolkit para a primeira parte deste post:

# In R console
suppressPackageStartupMessages(library(ESGtoolkit))

Entrada do modelo G2 ++ parâmetros:

# Observed maturities
u 

G2 ++ função de simulação (HCSPL significa interpolação Hermite Cubic Spline da curva de rendimento):

# Function of the number of scenarios
simG2plus 

Simulações de G2 ++ para 4 tipos de conjuntos de parâmetros:

r.HCSPL 

Estocástico fatores de desconto derivadas de simulações de taxas curtas:

deltat_r 

Preços (observado vs Monte Carlo para os 4 exemplos anteriores):

# Observed market prices
horizon 

Parcelas observado preços vs preços de Monte Carlo:


par(mfrow=c(4, 2))

ESGtoolkit::esgplotbands(r.HCSPL, xlab = 'time', ylab = 'short rate', 
                         main="short rate simulations n for example 1")
plot(marketprices, col = "blue", type = 'l', 
     xlab = "time", ylab = "prices", main = "Prices for example 1 n (observed vs Monte Carlo)")
points(montecarloprices.HCSPL, col = "red")

ESGtoolkit::esgplotbands(r.HCSPL2, xlab = 'time', ylab = 'short rate', 
                         main="short rate simulations n for example 2")
plot(marketprices, col = "blue", type = 'l', 
     xlab = "time", ylab = "prices", main = "Prices for example 2 n (observed vs Monte Carlo)")
points(montecarloprices.HCSPL2, col = "red")

ESGtoolkit::esgplotbands(r.HCSPL3, xlab = 'time', ylab = 'short rate', 
                         main="short rate simulations n for example 3")
plot(marketprices, col = "blue", type = 'l', 
     xlab = "time", ylab = "prices", main = "Prices for example 3 n (observed vs Monte Carlo)")
points(montecarloprices.HCSPL3, col = "red")

ESGtoolkit::esgplotbands(r.HCSPL4, xlab = 'time', ylab = 'short rate', 
                         main="short rate simulations n for example 4")
plot(marketprices, col = "blue", type = 'l', 
     xlab = "time", ylab = "prices", main = "Prices for example 4 n (observed vs Monte Carlo)")
points(montecarloprices.HCSPL4, col = "red")

imagem-título-aqui

O que nós observar nesses gráficos, tanto em simulações quanto em preços? O que acontecerá se adicionarmos um terceiro fator para este modelo, ou seja, mais três parâmetros; um G3 ++ / qualquer outro hidra?

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Otimização em redes neurais de aprendizagem profunda

Sobre um tipo diferente de pergunta / problema, mas ainda sobre o assunto da especificação do modelo, identificação, graus de liberdade e regularização: Redes neurais de aprendizagem profunda. Algumas pessoas sugerem que, se você continuar adicionando parâmetros (graus de liberdade?) A esses modelos, poderá ainda obter uma boa generalização. Bem, tem uma foto que eu gosto muito:

Leia Também  tidycovid19: novos dados e documentação

imagem-título-aqui

Quando otimizamos a função de perda nos modelos de redes neurais de aprendizado profundo, provavelmente usamos descida de gradiente, que é rápido e escalável. Ainda assim, não importa o quão sofisticado seja o procedimento de descida de gradiente que estamos usando, provavelmente ficaremos presos a um mínimo local – porque a função de perda raramente é convexa.

imagem-título-aqui

Preso é um termo bastante infeliz aqui, porque não é um problema real, mas uma maneira indireta de evitar o excesso de treinamento. Além disso, em nosso procedimento de descida de gradiente, ajustamos o número de épocas (número de iterações na descida / subida), a taxa de aprendizado (com que rapidez rolamos na descida / subida), além do abandono (abandono aleatório de algumas nós nas camadas das redes), etc. Essas também são maneiras de evitar aprender demais, interromper a otimização relativamente cedo e preservar a capacidade do modelo de generalizar. Eles regularizam o modelo, enquanto os milhões de nós da rede servem como graus de liberdade. Esse é um problema diferente do primeiro que examinamos, com objetivos diferentes, mas … ainda sobre a especificação do modelo, identificação, graus de liberdade e regularização.

Para aqueles que estão trabalhando em casa por causa do COVID-19, eu recomendo isso livro sobre equilíbrio entre vida profissional e pessoal, que eu literalmente devorei há alguns meses: REMOTE: Office Not Required (e não, eu não sou pago para promover este livro).

Nota: Atualmente, estou procurando um show. Você pode me contratar no Malt ou me enviar um email: thierry dot moudiki às pm me dot. Eu posso fazer estatísticas descritivas, preparação de dados, engenharia de recursos, calibração de modelos, treinamento e validação e interpretação de resultados de modelos. Sou fluente em Python, R, SQL, Microsoft Excel, Visual Basic (entre outros) e francês. Meu resumo? Aqui!

Leia Também  Sobrecarregar sua experiência em ações do GitHub com tic



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha seu sabor: e-mail, Twitter, RSS ou facebook …



[ad_2]

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br