2016-12-20 7 views
1

Я подобрал логизирующую модель регрессии к некоторым данным, все отлично работает. Мне нужно вычислить статистику валда, которая является функцией результата модели.Python statsmodels logit wald test input

Моя проблема заключается в том, что я не понимаю, из документации, что требует анализ вольфрама в качестве входных данных? В частности, что такое матрица R и как она генерируется?

Я пробовал просто вводить данные, которые я использовал для обучения и тестирования модели как матрицы R, но я не думаю, что это правильно. В документации предлагается изучить примеры, однако ни один из них не дает примера этого теста. Я также задал тот же вопрос о перекрестке, но был сбит.

С наилучшими пожеланиями

http://statsmodels.sourceforge.net/0.6.0/generated/statsmodels.discrete.discrete_model.LogitResults.wald_test.html#statsmodels.discrete.discrete_model.LogitResults.wald_test

ответ

2

Тест Вальда используется для проверки, если предсказатель является значительным или нет, формы:

W = (beta_hat - beta_0)/SE (beta_hat) ~ N (0,1)

Так что вы хотите ввести предиктора в тест. Судя по примеру t.test и f.test, может быть проще ввести строку или кортеж, чтобы указать, что вы тестируете.

Вот их пример использования строки для f.test:

from statsmodels.datasets import longley 
from statsmodels.formula.api import ols 
dta = longley.load_pandas().data 
formula = 'TOTEMP ~ GNPDEFL + GNP + UNEMP + ARMED + POP + YEAR' 
results = ols(formula, dta).fit() 
hypotheses = '(GNPDEFL = GNP), (UNEMP = 2), (YEAR/1829 = 1)' 
f_test = results.f_test(hypotheses) 
print(f_test) 

А вот их example используя кортеж:

import numpy as np 
import statsmodels.api as sm 
data = sm.datasets.longley.load() 
data.exog = sm.add_constant(data.exog) 
results = sm.OLS(data.endog, data.exog).fit() 
r = np.zeros_like(results.params) 
r[5:] = [1,-1] 
T_test = results.t_test(r) 

Если вы все еще пытаются получать Wald тест на работу , включите ваш код, и я могу попытаться помочь ему сработать.