当前位置:   article > 正文

MatLab建模学习笔记12——Logistic回归模型_基于latmab的logistic回归模型

基于latmab的logistic回归模型

logistic regression属于概率型非线性回归,它是研究二分类观察结果与一些影响因素之间关系的一种多变量分析方法。例如,在流行病学研究中,经常需要分析疾病与各危险因素之间的定量关系,为了正确说明这种关系,需要排除一些混杂因素的影响。对于线性回归分析,由于应变量Y是一个二值变量(通常取值1或0),不满足应用条件,尤其当各因素都处于低水平或高水平时,预测值Y值可能超出0~1范围,出现不合理都现象。用logistic回归分析则可以较好的解决上述问题。Logistic回归模型的基本形式如下:
这里写图片描述

因此,对因变量P按照ln(P/(1-P))的形式进行对数变换,可以将Logistic回归问题转化为线性回归问题,在按照多元线性回归的方法求解回归参数。对于P取值只有0和1的情况,在实际中不是直接对P进行回归,而是先定义一个单调连续的概率函数π:
这里写图片描述

此时Logistic模型为:
这里写图片描述

然后只需要对原始数据进行合理的映射处理,就可以用线性回归方法得到回归系数,最后再根据π和P的映射关系进行反映射得到P的值。
下面是书中的一个例子,评估企业的还款能力,已知前20家企业的评价指标和评价结果,要求对剩余5家企业进行评估。数据如下:
这里写图片描述

Π到P的映射关系:
这里写图片描述

Π值的确定:
这里写图片描述

Matlab代码如下:

clear all
clc
%数据格式
format long
%前20组数据
X0=xlsread('D:\资料库区\大三上\HUAWEI\MATLAB\11Logistic.xls','E4:G23');
%全部25组数据:验证和回归
XE=xlsread('D:\资料库区\大三上\HUAWEI\MATLAB\11Logistic.xls','E4:G28');
%前20组评估的数据值:P
Y0=xlsread('D:\资料库区\大三上\HUAWEI\MATLAB\11Logistic.xls','H4:H23');
n=size(Y0,1);
%π和P的映射关系
for i=1:n
    if Y0(i)==0
        Y1(i,1)=0.25;
    else
        Y1(i,1)=0.75;
    end
end
%构建常系数
X1=ones(size(X0,1),1);
X=[X1,X0];
Y=log(Y1./(1-Y1));
b=regress(Y,X);
%模型验证的应用
for i=1:size(XE,1)
pai0=exp(b(1)+b(2)*XE(i,1)+b(3)*XE(i,2)+b(4)*XE(i,3))/(1+exp(b(1)+b(2)*XE(i,1)+b(3)*XE(i,2)+b(4)*XE(i,3)));
    if(pai0<=0.5)
        P(i)=0;
    else
        P(i)=1;
    end
end
%回归结果
disp(['回归系数:' num2str(b') '  ']);
disp(['评估结果:' num2str(P)  '   ']);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

Matlab运行结果如下:
这里写图片描述

第一行即为该问题中回归模型的系数,带入即可得到回归模型,第二行为该模型的评估结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/776299
推荐阅读
相关标签
  

闽ICP备14008679号