Estou curioso sobre procedimentos repetitivos que podem ser usados para descobrir a forma funcional da função y = f(A, B, C) + error_term
onde minha única entrada é um conjunto de observações ( y
, A
, B
e C
). Observe que a forma funcional de f
é desconhecida.
Considere o seguinte conjunto de dados:
AA BB CC DD EE FF == == == == == == 98 11 66 84 67 10500 71 44 48 12 47 7250 54 28 90 73 95 5463 34 95 15 45 75 2581 56 37 0 79 43 3221 68 79 1 65 9 4721 53 2 90 10 18 3095 38 75 41 97 40 4558 29 99 46 28 96 5336 22 63 27 43 4 2196 4 5 89 78 39 492 10 28 39 59 64 1178 11 59 56 25 5 3418 10 4 79 98 24 431 86 36 84 14 67 10526 80 46 29 96 7 7793 67 71 12 43 3 5411 14 63 2 9 52 368 99 62 56 81 26 13334 56 4 72 65 33 3495 51 40 62 11 52 5178 29 77 80 2 54 7001 42 32 4 17 72 1926 44 45 30 25 5 3360 6 3 65 16 87 288
Neste exemplo, suponha que sabemos disso FF = f(AA, BB, CC, DD, EE) + error term
, mas não temos certeza sobre a forma funcional de f(...)
.
Qual procedimento / quais métodos você usaria para encontrar a forma funcional f(...)
?
(Ponto de bônus: qual é o seu melhor palpite na definição dos f
dados acima? :-) E sim, existe uma resposta "correta" que renderá R^2
mais de 0,99.)
FF
"rendimento da combustão"AA
era a quantidade de combustível eBB
a quantidade de oxigênio, você procuraria um termo de interação deAA
eBB
R^2 >= 0.99
uma delas, você gostaria de encontrar aquela com a melhor taxa de desempenho / complexidade (e fora da amostra, é claro). Desculpe por não ter escrito que explicitamente, eu pensei que era óbvio :-)Respostas:
Para encontrar a forma funcional mais adequada (chamada de forma livre ou regressão simbólica) para os dados, tente esta ferramenta - que eu saiba é a melhor disponível (pelo menos estou muito empolgada) ... e sua livre :-)
http://creativemachines.cornell.edu/eureqa
EDIT : Eu tentei com o Eureqa e gostaria de:
Eu chamaria isso de ajuste perfeito (o Eureqa fornece outras soluções melhores, mas também são um pouco mais complicadas. O Eureqa é a favor deste, então escolhi este) - e o Eureqa fez tudo por mim em alguns segundos um laptop normal ;-)
fonte
Para esse fim, observe que técnicas padrão de análise exploratória de dados (EDA) e regressão (mas não passo a passo ou outros procedimentos automatizados) sugerem o uso de um modelo linear na forma
Usando OLS, isso atinge um acima de 0,99. Atentos a esse resultado, somos tentados a enquadrar ambos os lados e regredir em , , , e todos os seus quadrados e produtos. Isso imediatamente produz um modeloR2 f a b∗c a∗b∗c
com um MSE raiz abaixo de 34 e um ajustado de 0,9999R2 . Os coeficientes estimados de 1.0112 e 0.988 sugerem que os dados podem ser gerados artificialmente com a fórmula
mais um pequeno erro de SD normalmente distribuído aproximadamente igual a 50.
Editar
Em resposta às dicas de @ knorv, continuei a análise. Para fazer isso, usei as técnicas que foram bem-sucedidas até agora, começando com a inspeção das matrizes de dispersão dos resíduos em relação às variáveis originais. Suficiente certeza, havia uma indicação clara de correlação entre e os resíduos (embora regressão OLS de contra , , e que não indicam foi "significativa"). Continuando nesse sentido, explorei todas as correlações entre os termos quadráticos e os novos resíduos e encontrei uma relação minúscula, mas altamente significativa, comf a a 2 b ∗ c a a 2 , … , e 2 , a ∗ b , a ∗ c , … , d ∗ e b 2a f a a2 b∗c a a2,…,e2,a∗b,a∗c,…,d∗e b2 . "Altamente significativo" significa que todo esse espionagem envolveu a observação de cerca de 20 variáveis diferentes; portanto, meu critério de importância nessa expedição de pesca foi de aproximadamente 0,05 / 20 = 0,0025: qualquer coisa menos rigorosa poderia facilmente ser um artefato para a busca de acessos.
Isso tem o sabor de um modelo físico, pois esperamos e, portanto, procuramos relações com coeficientes "interessantes" e "simples". Assim, por exemplo, vendo que o coeficiente estimado de era -0,0092 (entre -0,005 e -0,013 com 95% de confiança), optei por usar -1/100 para ele. Se esse fosse algum outro conjunto de dados, como observações de um sistema social ou político, eu não faria essas alterações, apenas usaria as estimativas do OLS como estão.b2
De qualquer forma, um ajuste melhorado é dado por
com resíduo médio , desvio padrão 26,8, todos os resíduos entre -50 e +43 e nenhuma evidência de não normalidade (embora com um conjunto de dados tão pequeno os erros pudessem ser uniformemente distribuídos e não se pudesse realmente dizer a diferença). A redução no desvio padrão residual de cerca de 50 para cerca de 25 seria frequentemente expressa como "explicando 75% da variação residual".0
Não afirmo que essa seja a fórmula usada para gerar os dados . Os resíduos são grandes o suficiente para permitir algumas mudanças razoavelmente grandes em alguns dos coeficientes. Por exemplo, ICs de 95% para os coeficientes de , e a constante são [-0,4, 2,7], [-0,013, -0,003] e [-7, 61], respectivamente. O ponto é que, se algum erro aleatório tiver sido realmente introduzido no procedimento de geração de dados (e isso é verdade para todos os dados do mundo real), isso impediria a identificação definitiva dos coeficientes (e até de todas as variáveis que possam estar envolvidas). ) Isso não é uma limitação dos métodos estatísticos: é apenas um fato matemático.a b2
BTW, usando regressão robusta, eu posso ajustar o modelo
com DP residual de 27,4 e todos os resíduos entre -51 e +47: essencialmente tão bons quanto o ajuste anterior, mas com uma variável a menos. É mais parcimonioso nesse sentido, mas menos parcimonioso no sentido de não ter arredondado os coeficientes para valores "agradáveis". No entanto, essa é a forma que eu normalmente favoreceria em uma análise de regressão, sem teorias rigorosas sobre quais tipos de valores os coeficientes devem ter e quais variáveis devem ser incluídas.
É provável que ocorram fortes relacionamentos adicionais aqui , mas eles teriam que ser bastante complicados. Aliás, pegar dados cujo SD original é 3410 e reduzir sua variação para resíduos com um SD de 27 é uma redução de 99,999384% na variação (o desse novo ajuste). Um continuaria procurando efeitos adicionais somente se o SD residual for muito grande para a finalidade pretendida. Na ausência de qualquer objetivo além de adivinhar o OP, é hora de parar.R2
fonte
Sua pergunta precisa ser refinada, porque a função
f
quase certamente não é definida exclusivamente pelos dados da amostra. Existem muitas funções diferentes que podem gerar os mesmos dados.Dito isto, a Análise de variância (ANOVA) ou um "estudo de sensibilidade" pode dizer muito sobre como suas entradas (AA..EE) afetam sua saída (FF).
Eu apenas fiz uma rápida análise de variância e encontrou um razoavelmente bom modelo:
FF = 101*A + 47*B + 49*C - 4484
. A função parece não depender de DD ou EE linearmente. Obviamente, poderíamos ir mais longe com o modelo e adicionar termos quadráticos e de mistura. Eventualmente, você terá um modelo perfeito que se ajusta aos dados e não possui valor preditivo. :)fonte
Em termos gerais, não há almoço grátis no aprendizado de máquina:
/ edit: também, um SVM radial com C = 4 e sigma = 0,206 produz facilmente um R2 de 0,99. A extração da equação real usada para derivar esse conjunto de dados é deixada como um exercício para a classe. O código está em R.
fonte
Todos os modelos estão errados, mas alguns são úteis: GEPBox
Y (T) = - 4709,7
+ 102,60 * AA (T) - 17,0707 * AA (T-1)
+ 62,4994 * BB (T) + 41,7453 * CC (T) + 965,70 * ZZ (T)
onde ZZ (T) = 0 FOR T = 1,10 = 1 DE OUTRA FORMA
Parece haver uma "relação defasada" entre Y e AA E uma mudança explicada na média das observações 11-25.
Resultados curiosos se não forem dados cronológicos ou espaciais.
fonte
ORDER BY
). As linhas não têm ordem especial inerente. Assim, você pode reorganizá-los com segurança, sem perder nenhuma informação. Desculpe se eu confuso você :-)AA(T-1)
termo em sua equação não faz sentido neste contexto.AA(T-1)
r quadrado de 97,2
Verificação de estimativa / diagnóstico para variável AA Y
X1 AAS
X2 BB
X3 BBS
X4 CC
Número de resíduos (R) = n 25
Número de graus de liberdade = nm 20
Média residual = soma R / n -.141873E-05
Soma dos quadrados = soma R 2 .775723E + 07
Variação = SOS / (n) 310289.
Ajustado Variação = SOS / (nm) 387861.
Desvio padrão RMSE = SQRT (Adj Var) 622,785
Erro padrão da média = Des padrão / (nm) 139,259
Média / seu erro padrão = Média / SEM-101877E-07
Desvio absoluto médio = Soma (ABS (R)) / n 455.684
Valor AIC (Usa var) = nln + 2m 326.131
Valor SBC (Usa var) = nln + m * lnn 332.226
Valor BIC (Usa var) = veja Wei p153 340.388
R Square = .972211
Estatística de Durbin-Watson = [- A (T -1)] ** 2 / A 2 1,76580
**
MODELO DE COAG LAG DO COMPONENTE MODELO PADRÃO
(BOP) VALOR DO VALOR DO ERRO
SÉRIE DE ENTRADA X1 AAS AA QUADRADA
SÉRIE DE ENTRADA X2 BB BB COMO FORNECIDA
SÉRIE DE ENTRADA X3 BBS BB SQUARED
SÉRIE DE ENTRADA X4 CC CC DADA
fonte