By yangyulei, 28 April, 2026

【金山文档 | WPS云文档】 基因序列分化对雄性表达解偶联(ΔR)的贡献回归分析 https://www.kdocs.cn/l/cd5a0Khow4Ot

通过单变量与多变量线性回归,量化 CDS、DNA 和 Promoter 序列差异对雄性表达解偶联(ΔR)的解释度。

1. 输入文件

merged.csv: 包含 delta_raw(ΔR)和各项 div 指标的合并表格

2.核心代码

from sklearn.linear_model import LinearRegression
import pandas as pd

df = pd.read_csv("merged.csv")
X = df[["cds_div", "dna_div", "promoter_div"]].values
y = df["delta_raw"].values

# 单变量回归
single = []
for i, name in enumerate(["cds","dna","promoter"]):
    Xi = X_raw[:, i].reshape(-1,1)
    reg = LinearRegression().fit(Xi, y_raw)
    single.append({
        "term": name,
        "beta": reg.coef_[0],
        "r2": reg.score(Xi, y_raw)
    })
pd.DataFrame(single).to_csv(BASE_DIR/"single_reg_rawXY.csv", index=False)
# 多变量回归
reg_multi = LinearRegression().fit(X_raw, y_raw)

multi = pd.DataFrame({
    "term": ["cds","dna","promoter"],
    "beta": reg_multi.coef_,
    "r2": [reg_multi.score(X_raw, y_raw)]*3
})
multi.to_csv(BASE_DIR/"multi_reg_rawXY.csv", index=False)

3.输出文件

single_reg_rawXY.csv: 单变量线性回归

multi_reg_rawXY.csv: 多变量线性回归