gpt4 book ai didi

python - 如何从 Python 中的 OLS 结果中获取因变量的信息?

转载 作者:行者123 更新时间:2023-12-05 06:50:38 25 4
gpt4 key购买 nike

我正在尝试从 for 循环回归后的 OLS 结果中获取信息。

例如,

depvars = ['y1', 'y2', 'y3', ...]
models = [ "~ x1 + x2", "~ x1 + x2 + x3", ...]
results = []
for depvar in depvars:
for model in models:
results.append(smf.glm(formula = depvar + model, data= data).fit())

我可以通过 results[0].params, results[0].pvalues 获取估计值、p 值等信息。

但我还想获取每个回归中使用的因变量的名称(y1、y2、...),以便我可以分辨出哪些参数适用于哪个变量。

例如,如果我运行 results[0].depvar 然后我得到 y1

谢谢! :)

最佳答案

model.endog_names下,例如:

import statsmodels.formula.api as smf
import numpy as np
import pandas as pd

data = pd.DataFrame(np.random.uniform(0,1,(50,6)),
columns=['x1','x2','x3','y1','y2','y3'])

depvars = ['y1', 'y2', 'y3']
models = [ "~ x1 + x2", "~ x1 + x2 + x3"]

for depvar in depvars:
for model in models:
results.append(smf.glm(formula = depvar + model, data= data).fit())

print("dependent:",results[0].model.endog_names)
print("independent:",results[0].model.exog_names)
print("coefficients:\n",results[0].params)

给你:

dependent: y1
independent: ['Intercept', 'x1', 'x2']
coefficients:
Intercept 0.468554
x1 0.258408
x2 -0.138862
dtype: float64

关于python - 如何从 Python 中的 OLS 结果中获取因变量的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66367419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com