如何从Python中的OLS结果中获取因变量的信息?
How can I get the information of dependent variable from OLS results in Python?
我正在尝试从 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
我正在尝试从 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
.
但我还想获取每个回归中使用的因变量(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