【金山文档 | 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: 多变量线性回归