Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 194
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Bem, já reparei nisto outra vez. O problema é que eu tenho um conjunto de dados, perco 12 e depois vêm os seus atrasos, atraso1 e atraso2. Anteriormente, os inputs estavam na sua maioria no início do conjunto, ou seja, os atrasos eram poucos e depois não mais do que o atraso1, raramente o atraso2. Posso entender que a amostra está sobrecarregada de dados, mas o fato é que antes da generalização, o lag1 e o lag2 eram mais frequentes. Mas é um facto que antes da generalização estava principalmente nas colunas iniciais, agora está nas colunas finais.... quase, então infer....
Portanto, você precisa voltar para as versões anteriores.
O meu voo está óptimo. Talvez porque não há desfasamentos na amostra?
Parece bom em geral, o que será que vai acontecer no final?
Sobre o comitê - postei alguns exemplos, mas há modelos que usam regressão com arredondamento para classificar, e não é tão claro lá. Eu tentei duas formas diferentes de combinar votos:
1) Arredondar tudo para as classes, tomar a classe para a qual haverá mais votos.
Ou seja, ter uma previsão de 4 bar a partir de três modelos
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) Eu o arredondaria ainda mais para as classes
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) , e o vetor final com previsões seria c(0, 1, 1, 0) por número de votos.
2) a outra opção é encontrar o resultado médio imediatamente, e só depois arredondá-lo para as classes
o resultado seria c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
ou (0,2666667, 0,4000000, 0,5333333, 0,4000000), ou
c(0, 0, 1, 0)
Pacote de funções tsDyn SETAR
Acontece que o valor do limiar (pode haver dois limiares como no RSI) é variável. Dá resultados incríveis.
Também não esqueçamos os algoritmos de calibração na classificação. A questão é que a previsão de classe na realidade não é um valor nominal, o algoritmo calcula a probabilidade de classe, que é um número real. Então esta probabilidade é dividida pela metade, por exemplo, e você recebe duas classes. E se a probabilidade for 0,49 e 051, isso são duas classes? Que tal 0,48 e 052? Isto é uma divisão em classes? Aqui é onde SETAR se dividiria em duas classes, entre as quais estaria Reshetovskie "on the fence".
Parece bom em geral, o que será que vai acontecer no final?
Sobre o comitê - postei alguns exemplos, mas há modelos que usam regressão com arredondamento para classificar, e não é tão claro lá. Eu tentei duas formas diferentes de combinar votos:
1) reunir tudo em torno das aulas, fazer a aula que conseguir mais votos.
Ou seja, tendo uma previsão de 4 bar a partir de três modelos
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) Eu arredondaria isso para as classes
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) , e o vetor final com previsões seria c(0, 1, 1, 0) por número de votos.
2) a outra opção é encontrar o resultado médio imediatamente, e só então arredondá-lo para as classes
o resultado seria c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
ou (0.2666667, 0.533333, c(0, 0, 0, 1) ou
)
Pessoal, por favor ajudem-me com este problema porque acho que não vou conseguir uma resposta.
http://ru.stackoverflow.com/questions/586979/%D0%9A%D0%B0%D0%BA-%D0%B8%D0%B7-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2%D1%8B%D1%87%D0%BB%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D0%BD%D0%B5%D0%BA%D0%B8%D0%B5-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D0%BE-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8E
Podes responder aqui também, não me interessa.
Eu respondo aqui então.
dat <- data.frame(cluster1=c(24,2,13,23,6), cluster2=c(5,15,13,28,12), cluster3=c(18,12,16,22,20), cluster4=c(21,7,29,10,25), cluster5=c(16,22,24,4,11), target.label=c(1,1,0,1,0))
dat <- rbind(dat, dat[1,], dat[1,])
#результат последней строки поменян на 0 для эксперимента
dat[7,"target.label"]=0
library(sqldf)
#для sqldf точек в названиях колонок быть не должно
colnames(dat)[6] <- "target"
dat1 <- sqldf( "select cluster1, cluster2, cluster3, cluster4, cluster5, avg(target) as target_avg, count(target) as target_count from dat group by cluster1, cluster2, cluster3, cluster4, cluster5" )
dat1
dat1[ dat1$target_count>=10 & dat1$target_avg>0.63 , ]
dat1[ dat1$target_count>=10 & ( dat1$target_avg<0.37 | dat1$target_avg>0.63 ), ] #на случай если оба "0" или "1" встречаются чаще 70%
O pacote tsDyn é uma função SETAR
SETAR refere-se especificamente à calibração do comitê, ou este é um tópico separado para a criação de modelos financeiros?
Eu folheei o manual do pacote, não vi o que eu precisava... Há uma situação. Tenho uma tabela de treino com 10.000 exemplos. E há 100 modelos treinados com estes exemplos. Para testar os modelos você pode usá-los para prever os mesmos dados de entrada e obter 100 vetores cada um com 10000 predições. SETAR poderia ser usado para de alguma forma fundir todos estes 100 vetores em um só?
E então para uma previsão com novos dados haveria 100 previsões novamente e precisaríamos fundi-las em uma (não haveria 100 vetores, mas 100 previsões únicas). SETAR será capaz de fazer isso também, usando os parâmetros do comitê obtidos a partir dos dados do treinamento?
SETAR refere-se especificamente à calibração do comitê, ou este é um tópico separado para a criação de modelos financeiros?
Eu folheei o manual do pacote, não vejo o que preciso... Eis a situação: tenho uma tabela de treino com 10.000 exemplos. Eu tenho 100 modelos treinados nesses exemplos. Para testar os modelos, você pode usá-los para prever os mesmos dados de entrada e obter 100 vetores cada um com 10000 previsões. SETAR poderia ser usado para de alguma forma fundir todos estes 100 vetores em um só?
E então para uma previsão com novos dados haveria 100 previsões novamente e precisaríamos fundi-las em uma (não haveria 100 vetores, mas 100 previsões únicas). SETAR será capaz de fazer isso também, usando parâmetros de comitê derivados dos dados de treinamento?
Portanto, você precisa voltar para as versões anteriores.
Eu estou a correr bem. Talvez porque não há desfasamentos na amostra?