Matlab_回归分析第二讲之Logistic回归

Logistic回归

例:企业到金融商业机构贷款,金融商业机构需要对企业进行评估。评估结果为 0 , 1 两种形式,0 表示企业两年后破产,将拒绝贷款,而 1 表示企业 2 年后具备还款能力,可以贷款。在表 6 中,已知前 20 家企业的三项评价指标值和评估结果,试建立模型对其他 5 家企业(企业 21-25)进行评估。

这里写图片描述

代码:

clc, clear, close all
X0=xlsread('logistic_ex1.xlsx', 'B2:D21'); % 回归模型的输入
Y0=xlsread('logistic_ex1.xlsx', 'E2:E21'); % 回归模型的输出
X1=xlsread('logistic_ex1.xlsx', 'B2:D26'); % 预测数据输入
GM = fitglm(X0,Y0,'Distribution','binomial');
Y1 = predict(GM,X1);
N0 =1:size(Y0,1); N1= 1:size(Y1,1);
plot(N0', Y0, '-kd');
hold on; scatter(N1', Y1, 'b')
xlabel('数据点编号'); ylabel('输出值');

这里fitglm函数,将数据传入后,第三个参数表示离散分布,第四个参数表示二项分布(fitglm有很多用法,具体可help fitglm,这里只用到到了这个来做Logistic回归分析)。此函数返回一个Model(官方文档就叫这个),然后在predict函数中,第一个参数传入的参数类型就是Model,所以将上面函数得到的返回值传入,然后将需要预测的数据输入,既得预测的结果Y1。

注:scatter函数,画气泡图的函数。

这里写图片描述

这里Y1也是从1到26每个都有的,图片里20以前的的气泡和原始给的数据绘制重叠在一起了。

这里再将GM这个模型输出。

这里写图片描述

整体p-value的值很小,模型很显著。

回归方程为:

y(x)~-239.81-2.0957*X1+12.99*X2+233.38*X3

方程得到的值大于0则预测值为1,小于0则预测值为0。

这里验证了一下。

i=1;
while i<=25
    %X1(i,1)
    yy(i)=-239.81-2.0957*X1(i,1)+12.99*X1(i,2)+233.38*X1(i,3);
    i=i+1;
end
yy

这里写图片描述

与预测值对比,可得,方程得到的值大于0则预测值为1,小于0则预测值为0。

  • 30
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值