簡體   English   中英

邏輯回歸獲取 sm.Logit 值(python、statsmodels)

[英]logistic regression get the sm.Logit values (python, statsmodels)

我正在使用sm.Logit在 python 中進行邏輯回歸,然后獲取模型、p 值等是函數.summary ,我想存儲.summary函數的結果,到目前為止我有:

  • .params.values : 給出 beta 值
  • .params : 給出變量的名稱和 beta 值
  • .conf_int() : 給出置信區間

我仍然需要得到std errzp 值

我也想知道有沒有辦法得到這個( .summary函數的第一部分):

在此處輸入圖片說明

如果您使用類似的代碼計算模型

model = sm.Logit(y_data, x_data)
model_fit = model.fit()

然后您可以直接使用model_fit.pvalues訪問 p 值。

對於系數的標准誤差,您可以調用

cov = model_fit.cov_params()
std_err = np.sqrt(np.diag(cov))

將標准誤差計算為模型協方差矩陣估計的方差項(對角線項)的平方根。

z 值定義為每個系數除以其標准誤差,因此您可以將其計算為

z_values = model_fit.params / std_err

使用上std_err定義的std_err

關於您的最后一個問題,不清楚您是問如何從summary()輸出中獲取實際子字符串,還是單獨獲取它打印的所有不同數據。

如果您需要單獨使用它們,我建議在交互式編程會話中擬合您的模型,例如使用 jupyter,這樣您就可以看到model_fit對象上可用的各種自由度選項和其他數據。

如果您只是在尋找字符串,則很簡單:

'\n'.join(str(model_fit.summary()).split('\n')[1:10])

在您的代碼中編寫這行代碼print(dir(model_fit))它會顯示您可以從model_fit答案中訪問的所有函數和方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM