2401_83361650 2024-06-04 21:19 采纳率: 0%
浏览 5
已结题

多元统计分析的logistic回归分析predict语句

img


如果只输出了数据集,想让执行语句怎样运用predict语句,或者其他语句可以运行出正确logistic结果

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-04 21:19
    关注

    引自免费微信小程序:皆我百晓生

    在您的代码片段中,您已经进行了一个逻辑回归分析,并且似乎想要从这个模型中获取预测值。为了实现这一点,您可以使用PROC LOGISTIC中的PREDICT选项。在SAS中,这通常涉及以下几个步骤:

    首先,确保您的数据集已经准备好了,并且已经完成了逻辑回归分析。根据您提供的代码,看起来您已经在数据集中执行了逻辑回归,模型名为healh_re

    接下来,我们可以使用PROC LOGISTICPREDICT子句来计算新的观测值的预测概率。以下是完整的代码示例:

    /* 假设我们有一个新数据集new_data包含与训练数据相同的变量 */
    data new_data;
      input gen婚姻 edu income time years range age;
    cards;
    1 1 1 5000 3 1 45
    2 2 2 7000 5 2 55
    ; /* 添加更多观测值,如果有 */
    
    proc logistic data=exe4_2 descending;
      model healh_re = gen marriage edu income time years range age / selection=stepwise sle=0.10 sls=0.10;
      output out=predicted_values pred=prob_health_re;
    run;
    
    proc print data=new_data (obs=0);
    run;
    
    proc print data=predicted_values;
    var prob_health_re;
    run;
    

    在这个例子中,我们创建了一个新数据集new_data,其中包含了两个观测值。然后,我们在PROC LOGISTIC中添加了OUTPUT OUT=子句,指定了一个新的输出数据集predicted_values,其中会存储预测的概率。预测变量被命名为prob_health_re。最后,我们分别打印原始的新数据集和预测值数据集。

    注意,descending关键字用于按预测概率降序排列结果。如果您不关心排序顺序,可以去掉这一行。

    如果你已经有新的观测值并且它们在同一个数据集中,那么你不需要创建新的数据集new_data,只需将input语句替换为你的观测值,并保留其他部分不变。记得要按照正确的变量顺序输入观测值。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月26日
  • 创建了问题 6月4日