You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中生成偏回归图?附相关数据及实现示例需求

CowWesternAshelyJerzy
24.334.35045
30.235.35445
49455404353
7060334343
698054342

偏回归图(Partial Plot)生成示例

以下用Python实现,以上述表格数据作为演示数据集:

import pandas as pd
import statsmodels.api as sm
from statsmodels.graphics.regressionplots import plot_partregress

# 加载数据集
df = pd.DataFrame({
    "Cow": [24.3, 30.2, 49, 70, 69],
    "Western": [34.3, 35.3, 45, 60, 80],
    "Ashely": [50, 54, 540, 334, 54],
    "Jerzy": [45, 45, 4353, 343, 342]
})

# 拟合多元线性回归模型:以Ashely为因变量,其余3列为自变量
X = sm.add_constant(df[["Cow", "Western", "Jerzy"]])
y = df["Ashely"]
model = sm.OLS(y, X).fit()

# 生成Cow对Ashely的偏回归图(自动排除另外两个自变量的影响)
fig = plot_partregress(endog="Ashely", exog_i="Cow", exog_others=["Western", "Jerzy"], data=df, obs_labels=False)
fig.show()

生成的图可以直接观测排除其他变量干扰后,目标自变量和因变量的净相关关系。

矩阵对角线与观测序号对比实现

核心逻辑是提取n×n矩阵的对角元素,和长度为n的观测序号序列做数值或可视化对比,演示代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 演示用:基于上述数据集构造4×4协方差矩阵
cov_matrix = df.cov().values

# 提取对角线元素
diag_values = np.diag(cov_matrix)
# 生成对应长度的观测序号(和矩阵维度匹配,此处为1到4)
obs_index = np.arange(1, len(diag_values)+1)

# 数值对比:直接输出差值
diff = diag_values - obs_index
print("观测序号:", obs_index)
print("对角元素值:", diag_values)
print("两者差值:", diff)

# 可视化对比
plt.plot(obs_index, diag_values, marker='o', label='对角线元素')
plt.plot(obs_index, obs_index, marker='s', label='观测序号基准线')
plt.xlabel("观测序号")
plt.ylabel("数值")
plt.legend()
plt.show()

如果是用n行观测构造的n×n矩阵,只需要把观测序号长度调整为n即可,逻辑完全一致。

内容的提问来源于stack exchange,提问作者fashionable

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:15:02