2016-12-20 63 views
1

我已經爲某些數據擬合了邏輯迴歸模型,一切工作都很好。我需要計算作爲模型結果函數的wald統計量。Python statsmodels logit wald測試輸入

我的問題是,我不明白,從文檔,wald測試需要什麼作爲輸入?具體來說什麼是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

Wald檢驗用來測試一個預測器是顯著與否,如下形式:

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

所以不知何故,你會想輸入預測變量到測試中。從t.testf.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檢驗工作,包括你的代碼,我可以嘗試幫助使其工作。