Logistic回归 |
您所在的位置:网站首页 › 二元logistic分析 › Logistic回归 |
目录 1.简介 2.应用范围 3.分类 3.应用条件 4.原理详解 4.1 sigmod分类函数 4.2 建立目标函数 4.3 求解相关参数 5.实列分析 5.1 读取数据(excel文件) 5.2 分离数据集 5.3 求解前设定 5.4 求解目标函数 5.5 预测 5.6 预测分类 5.7 准确率 6.matlab自带函数 1.简介Logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘 ,Logistic回归虽说是回归,但实际更属于判别分析。 2.应用范围① 适用于流行病学资料的危险因素分析 ② 实验室中药物的剂量-反应关系 ③ 临床试验评价 ④ 疾病的预后因素分析 3.分类①按因变量的资料类型分: 二分类 多分类 其中二分较为常用 ② 按研究方法分: 条 件Logistic回归 非条件Logistic回归 两者针对的资料类型不一样,前者针对配对研究,后者针对成组研究。 3.应用条件① 独立性。各观测对象间是相互独立的; ② LogitP与自变量是线性关系; ③ 样本量。经验值是病例对照各50例以上或为自变量的5-10倍(以10倍为宜),不过随着统计技术和软件的发展,样本量较小或不能进行似然估计的情况下可采用精确logistic回归分析,此时要求分析变量不能太多,且变量分类不能太多; ④ 当队列资料进行logistic回归分析时,观察时间应该相同,否则需考虑观察时间的影响(建议用Poisson回归)。 4.原理详解 4.1 sigmod分类函数之所以在这里介绍,是因为下面会用到这个函数 Sigmoid函数: 曲线表示: 由图可见当范围为0-1,当X0时,Y趋向于1,适合用于0-1二分类。 所以我们就可以设分类函数如下: 其中 对于输入变量 求解损失函数:用概率论中的极大似然估计的方法,构建概率函数如下, 对损失函数可以理解为,当 对目标函数取对数可以将目标函数的连乘变为连加: 设 其中, 其中: 将其带入原式可得: 相关数据如下: fbsrestecgthalachexang0ldpeaksl0pecathaltarget011680122301015513.100300112512.60030011610021301110601.91320001220110210214004.403100014510.811300014400.820300011613.212200112501.6102110136131030 5.1 读取数据(excel文件) data=xlsread('D:\桌面\data.xlsx')返回:发现数据直接从不是标题的第一行开始读取了 正式介绍之前补充一点东西 行数 = size(data,1) 列数 = size(data,2) 好,开始进入正题 此为通过比例确定,选择多少行数据作为测试集 num=round(0.8*size(data,1));%取整个数据0.8的比例训练此为,选出相应比例的数据作为测试集 train_data=data(1:num,:)此为,将剩余数据作为验证集 test_data=data(num+1:end,:)分离测试集的x和y n=size(data,2) train_y=train_data(:,n); %确定y所对应的数据 train_x=train_data(:,1:n-1); %除去y将剩余的数据都归于x同理分离验证集的x和y test_y=test_data(:,n); test_x=test_data(:,1:n-1); 5.3 求解前设定详看上面过程公式4.1的分类函数的解析 train_x1=[ones(size(train_x,1),1),train_x];%在基础上增加常数项 test_x1=[ones(size(test_x,1),1),test_x]; w=zeros(size(train_x1,2),1); lr=0.001;%学习率 5.4 求解目标函数 pred_f= train_x1*w; %预测出的方程式取值 pred_y=1./(1+exp(-pred_f)); %Sigmoid函数 d_w=(train_y-pred_y)'*train_x1; w=w+lr*d_w';返回: 返回: 返回: 返回: 我们用预测的和原始数据对比一下,确实是只对了一个 6.matlab自带函数fitglm 官方文档:Create generalized linear regression model - MATLAB fitglm- MathWorks 中国 Create generalized linear regression model 创建广义线性回归模型 mdl = fitglm(x,y,'distribution','binomal') 构建二项式 logistic模型 接下来我们再对上述数据进行拟合 数据集划分部分就不重复了 GM= fitglm(x,y); y_p = predict(GM,x_t); fenlei=(y_p>=0.5) accu=1-sum(abs(fenlei-y_t))./length(y_p)返回: 可以发现和上面结果一致。 线性回归结果分析: 1. 回归系数置信区间应不包含零点 2. stats统计量: 1) 2)F : 当 F > F1-α(m,n-m-1) ,即认为因变量 y 与自变量 x1,x2,...,xm 之间有显著的线性相关关系; 否则认为因变量 y 与自变量 x1,x2,...,xm 之间线性相关关系不显著。 3)p : 若 p < α(α 为预定显著水平),则说明因变量 y 与自变量 x1,x2,...,xm之间显著地有线性相关关系。 4) 本次就到这里了,如果有错误的话及时联系我进行改正哦,谢谢。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |