Python 熊猫的成对回归
我有一个带有Python 熊猫的成对回归,python,pandas,regression,Python,Pandas,Regression,我有一个带有n列的数据帧df。该索引是DatetimeIndex。给定一个参考列ref\u col,我希望计算剩余列对该参考列的n-1一维线性回归。以下并未实现这一点,而是计算单个n-1-维回归: pd.ols(y=df[ref_col], x=df.drop(ref_col, axis=1)) 假设现在我想计算所有可能的两两回归,以产生一个单位对角的β矩阵 使用循环可以相对轻松地完成上述两项。有“矢量化”方法吗?您可以获得参考列的成对回归列表,如下所示: models=[pd.ols(y=
n
列的数据帧df
。该索引是DatetimeIndex。给定一个参考列ref\u col
,我希望计算剩余列对该参考列的n-1
一维线性回归。以下并未实现这一点,而是计算单个n-1
-维回归:
pd.ols(y=df[ref_col], x=df.drop(ref_col, axis=1))
使用循环可以相对轻松地完成上述两项。有“矢量化”方法吗?您可以获得参考列的成对回归列表,如下所示:
models=[pd.ols(y=df[ref_col],x=df[col]) for col in df if col<>ref_col]
models=[pd.ols(y=df[ref\u col],x=df[col]),对于df中的col,如果colref\u col]
要获得所有可能参考列的模型矩阵,下一步是
models_matrix=[[pd.ols(y=df[ref_col],x=df[col]) for col in df if col<>ref_col] for ref_col in df]
models_matrix=[[pd.ols(y=df[ref_col],x=df[col])表示df中的col,如果colref_col]表示df中的ref_col]
最后,beta矩阵可以这样实现
betas=[[pd.ols(y=df[ref_col],x=df[col]).beta.x for col in df if col<>ref_col] for ref_col in df]
betas=[[pd.ols(y=df[ref\u col],x=df[col])。如果colref\u col]表示df中的ref\u col,则beta.x表示df中的col]