8

我正在尝试使用 python 来计算响应数组和一组预测变量之间的多重线性回归和多重相关性。我看到了计算多元线性回归的非常简单的示例,这很容易。但是如何使用 statsmodels 计算多重相关性呢?或与其他任何东西,作为替代。我想我可以使用 rpy 和 R,但如果可能的话,我更愿意留在 python 中。

编辑[澄清]:考虑到这里描述的情况:http: //sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/BS704-EP713_MultivariableMethods/ 我还想计算预测变量的多个相关系数, 除了回归系数和其他回归参数

4

1 回答 1

15

你当然可以用 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

这就是你所追求的吗?

于 2012-11-19T14:44:57.427 回答