Regressão OLS: modelos Scikit vs. Stats?

Versão curta: Eu estava usando o scikit LinearRegression em alguns dados, mas estou acostumado a p-values, então coloque os dados nos modelos estatísticos OLS e, embora o R ^ 2 seja quase o mesmo, os coeficientes variáveis são todos diferentes em grandes quantidades. Isso me preocupa, já que o problema mais provável é que cometi um erro em algum lugar e agora não me sinto confiante em nenhuma saída (já que provavelmente criei um modelo incorretamente, mas não sei qual).

Versão mais longa: Como não sei onde está o problema, não sei exatamente quais detalhes incluir e incluir tudo provavelmente é demais. Também não tenho certeza sobre a inclusão de código ou dados.

Estou com a impressão de que o LR do scikit e o modelo de estatísticas OLS devem estar executando o OLS e, tanto quanto eu sei, o OLS é OLS, portanto os resultados devem ser os mesmos.

Para o LR do scikit, os resultados são (estatisticamente) os mesmos, independentemente de eu definir ou não normalizar = True ou = False, o que acho estranho.

Para os modelos estatísticos OLS, normalizo os dados usando o StandardScaler do sklearn. Eu adiciono uma coluna de uns para incluir uma interceptação (já que a saída do scikit inclui uma interceptação). Mais sobre isso aqui:http://statsmodels.sourceforge.net/devel/examples/generated/example_ols.html (A adição desta coluna não alterou os coeficientes das variáveis em nenhum grau notável e a interceptação foi muito próxima de zero.) O StandardScaler não gostou que minhas entradas não fossem flutuantes, então tentei isso:https://github.com/scikit-learn/scikit-learn/issues/1709 Isso faz o aviso desaparecer, mas os resultados são exatamente os mesmos.

É verdade que estou usando cv de 5 dobras para a abordagem sklearn (R ^ 2 são consistentes para dados de teste e treinamento de cada vez), e para os modelos estatísticos eu apenas ligo todos os dados.

R ^ 2 é de cerca de 0,41 para os modelos sklearn e stats (isso é bom para as ciências sociais). Este poderia ser um bom sinal ou apenas uma coincidência.

Os dados são observações de avatares no WoW (dehttp://mmnet.iis.sinica.edu.tw/dl/wowah/), que pensei em torná-lo semanalmente com alguns recursos diferentes. Originalmente, esse era um projeto de classe para uma aula de ciência de dados.

Variáveis independentes incluem número de observações em uma semana (int), nível de caractere (int), se em uma guilda (booleano), quando vistas (booleanos no dia da semana, véspera da semana, final da semana e os mesmos três no final de semana), dummy para classe de caracteres (na época da coleta de dados, havia apenas 8 classes no WoW, portanto, existem 7 dars vars e a variável categórica da string original é eliminada) e outras.

A variável dependente é quantos níveis cada personagem ganhou durante a semana (int).

Curiosamente, parte da ordem relativa das variáveis iguais é mantida nos modelos de estatísticas e no sklearn. Portanto, a ordem de classificação de "quando vista" é a mesma, embora os carregamentos sejam muito diferentes, e a ordem de classificação para os manequins da classe de personagem é a mesma, embora novamente os carregamentos sejam muito diferentes.

Eu acho que essa pergunta é semelhante a esta:Diferença nos modelos estatísticos Python OLS e R's lm

Eu sou bom o suficiente em Python e estatísticas para fazer isso, mas não sou bom o suficiente para descobrir algo assim. Tentei ler os documentos do sklearn e do statsmodels, mas se a resposta estava lá me encarando, eu não entendi.

Eu adoraria saber:

Qual saída pode ser precisa? (Concedido que ambos poderiam ser se eu perdesse um kwarg.)Se eu cometi um erro, o que é e como corrigi-lo?Eu poderia ter descoberto isso sem perguntar aqui, e se sim, como?

Eu sei que esta pergunta tem alguns bits bastante vagos (sem código, sem dados, sem saída), mas acho que é mais sobre os processos gerais dos dois pacotes. Claro, um parece ter mais estatísticas e outro parece ter mais aprendizado de máquina, mas ambos são OLS, portanto não entendo por que os resultados não são os mesmos.

(Eu até tentei outras chamadas do OLS para triangular, uma deu um R ^ 2 muito menor, uma repetiu por cinco minutos e eu a matei e uma caiu.)

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion