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

如何提取与使用SAS PROC输出?以计算参数指数值(优势比)为例

在SAS中实现逻辑回归并计算优势比

R中的实现

你在R中通过逻辑回归拟合模型并计算优势比的代码如下:

mylogit <- glm(tvsitcom ~ gender+age, data=student, family = "binomial")
odds_ratio <- exp(coef(mylogit))

SAS实现的关键纠正与步骤

注意:你最初及更新后的代码中使用proc reg是错误的——proc reg用于线性回归,而对应R中glm(..., family="binomial")的逻辑回归,SAS需要使用proc logistic。

要计算优势比,无需额外PROC,只需两步:

  1. 用proc logistic拟合模型,通过ODS将参数估计结果导出到数据集
  2. 用DATA步对参数估计值取自然指数,得到优势比

正确的SAS代码如下:

/* 拟合逻辑回归,输出参数估计到数据集param */
proc logistic data=perm.college;
    model tvsitcom(event='1') = age gender; /* event参数指定二分类变量的阳性事件取值,请根据你的实际数据调整 */
    ods output ParameterEstimates=param;
run;

/* 计算优势比:对参数估计值取自然指数 */
data odds_ratios;
    set param;
    odds_ratio = exp(Estimate);
run;

/* 查看最终的优势比结果 */
proc print data=odds_ratios;
run;

对原更新代码的说明

你之前更新的代码仍使用proc reg,这会拟合线性回归模型,得到的系数和R中逻辑回归的系数完全不对应,因此必须替换为proc logistic才能得到等价的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:45:33