我正在尝试使用python计算响应数组和一组预测变量之间的多重线性回归和多重相关性。
我看到了一个非常简单的示例来计算多元线性回归,这很容易。
但是如何计算statsmodels的多重相关性呢?或其他任何选择。我猜我可以使用rpy和R,但如果可能的话,我宁愿留在python中。
编辑[说明]:
考虑一种类似此处描述的情况:http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/BS704-EP713_MultivariableMethods/
除了回归系数和其他回归参数之外,我还想为预测变量计算多个相关系数
最佳答案
您当然可以使用statsmodels和pandas做到这一点。这样的事情可能会让您入门
import pandas
import statsmodels.api as sm
from statsmodels.formula.api import ols
data = pandas.DataFrame([["A", 4, 0, 1, 27],
["B", 7, 1, 1, 29],
["C", 6, 1, 0, 23],
["D", 2, 0, 0, 20],
["etc.", 3, 0, 1, 21]],
columns=["ID", "score", "male", "age20", "BMI"])
print data.corr()
model = ols("BMI ~ score + male + age20", data=data).fit()
print model.params
print model.summary()
看一下文档:
http://statsmodels.sourceforge.net/devel/
http://pandas.pydata.org/
编辑:我不熟悉术语多重相关系数,但是我相信这只是多重回归模型的R平方的平方根吗?
print model.rsquared**.5
print model.rsquared_adj**.5
这是你所追求的吗?