R语言与机器学习(6)logistic回归
- 格式:docx
- 大小:590.09 KB
- 文档页数:21
r语言多元logistic回归代码-回复如何在R语言中进行多元logistic回归分析。
多元logistic回归是一种用于分析多个自变量与一个多分类响应变量之间关系的统计方法。
它可以用于预测多个类别中一个特定类别的概率,并且可以帮助我们理解哪些自变量对于预测分类最为重要。
接下来,我将逐步介绍如何在R语言中进行多元logistic回归分析。
步骤1:准备数据首先,我们需要准备需要进行分析的数据集。
数据集应包含一个或多个自变量(可以是定量或分类型数据)和一个多分类的响应变量。
在这里,我们以一个虚拟数据集为例,数据集包含3个自变量(age、gender和income)和一个二分类的响应变量(purchase)。
我们将使用"mlbench"包中的"BreastCancer"数据集来演示。
Rinstall.packages("mlbench")library(mlbench)data("BreastCancer")步骤2:拟合多元logistic回归模型在R语言中,我们可以使用“multinom”函数从“nnet”包中来进行多元logistic回归分析。
Rinstall.packages("nnet")library(nnet)model <- multinom(purchase ~ age + gender + income, data = BreastCancer)在这里,我们使用"multinom"函数来拟合一个多元logistic回归模型。
参数"purchase ~ age + gender + income"表示我们将使用age、gender和income作为自变量来预测purchase变量。
步骤3:模型拟合结果我们可以使用"summary"函数来查看多元logistic回归模型的拟合结果。
r语言logistic回归结果解读
在R语言中使用Logistic回归得到的结果可以帮助分析和解读数据中的因变量与自变量之间的关系。
以下是解读Logistic回归结果的一般步骤:
1. 检查模型的整体拟合优度:查看模型的拟合优度统计量,如AIC、BIC、Pseudo R-squared等。
较小的AIC和BIC值以及较大的Pseudo R-squared值指示着较好的模型拟合。
2. 检查自变量的显著性:通过解读每个自变量的系数估计值和相应的p-值来检查自变量是否对因变量有影响。
系数估计值表明自变量对因变量的影响方向和大小,而p-值则表示该影响是否显著。
通常,p-值小于0.05被认为是显著的。
3. 解释系数估计值:解释系数估计值可以帮助理解自变量的影响方向和大小。
正系数说明自变量增加时因变量的概率增加,负系数说明自变量增加时因变量的概率减少。
系数的绝对值越大,说明自变量的影响越大。
4. 计算和解释odds比:可以使用exp()函数将系数估计值转化为odds比,以更直观地解释自变量对因变量的影响。
例如,exp(系数估计值)表示odds比的增加或减少的倍数。
5. 预测和评估:使用模型进行预测和评估其准确性。
可以使用ROC曲线、AUC值、混淆矩阵等指标来评估模型的性能。
需要注意的是,解读Logistic回归结果需要结合具体问题和数
据的背景进行综合分析,确保结果的合理性和可靠性。
此外,还可以进行模型的诊断和改进,以提高模型的拟合和预测能力。
在R语⾔中实现Logistic逻辑回归的操作逻辑回归是拟合回归曲线的⽅法,当y是分类变量时,y = f(x)。
典型的使⽤这种模式被预测Ÿ给定⼀组预测的X。
预测因⼦可以是连续的,分类的或两者的混合。
R中的逻辑回归实现R可以很容易地拟合逻辑回归模型。
要调⽤的函数是glm(),拟合过程与线性回归中使⽤的过程没有太⼤差别。
在这篇⽂章中,我将拟合⼀个⼆元逻辑回归模型并解释每⼀步。
数据集我们将研究泰坦尼克号数据集。
这个数据集有不同版本可以在线免费获得,但我建议使⽤Kaggle提供的数据集。
⽬标是预测⽣存(如果乘客幸存,则为1,否则为0)基于某些诸如服务等级,性别,年龄等特征。
我们将使⽤分类变量和连续变量。
数据清理过程在处理真实数据集时,我们需要考虑到⼀些数据可能丢失的情况,因此我们需要为我们的分析准备数据集。
作为第⼀步,我们使⽤该函数加载csv数据read.csv()。
使每个缺失值编码为NA。
training.data.raw < - read.csv('train.csv',header = T,na.strings = c(“”))现在我们需要检查缺失的值,查看每个变量的唯⼀值,使⽤sapply()函数将函数作为参数传递给数据框的每⼀列。
PassengerId Survived Pclass Name Sex0 0 0 0 0Age SibSp Parch Ticket Fare177 0 0 0 0Cabin Embarked687 2length(unique(x)))PassengerId Survived Pclass Name Sex891 2 3 891 2Age SibSp Parch Ticket Fare89 7 7 681 248Cabin Embarked148 4对缺失值进⾏可视化处理可能会有所帮助:可以绘制数据集并显⽰缺失值:机舱有太多的缺失值,我们不使⽤它。
logistics回归的原理
Logistic回归是一种用于解决二元分类问题的机器学习算法。
它基于逻辑函数(也称为sigmoid函数)的概念,并通过最大
似然估计来确定模型参数。
Logistic回归的原理可以概括为以下步骤:
1. 数据准备:收集并准备训练数据集,包括输入特征(自变量)和对应的类别标签(因变量)。
2. 特征缩放:对输入特征进行缩放,以确保它们在相似的范围内。
3. 参数初始化:初始化模型的权重和截距。
4. Sigmoid函数:定义Sigmoid函数,它将输入转换为0到1
之间的概率值。
5. 模型训练:使用最大似然估计法来最小化损失函数,以找到最佳模型参数。
通常使用梯度下降等优化算法来实现。
6. 模型预测:使用训练得到的模型参数,对新的输入样本进行预测。
根据预测概率值,可以将样本分类为两个类别之一。
Logistic回归的核心思想是通过sigmoid函数将线性回归模型
的输出映射到概率。
它假设数据服从伯努利分布,并对给定输入特征的条件下属于某个类别的概率进行建模。
通过最大似然估计,可以找到最优的模型参数,使得预测的概率尽可能接近真实标签的概率。
总结起来,Logistic回归的原理是利用最大似然估计来建模分
类问题中的概率,并使用sigmoid函数将线性模型的输出映射到概率范围内。
logistic回归固定效应r语言-回复以下是一篇关于在R语言中使用logistic回归和固定效应的介绍性文章。
第一步:介绍logistic回归和固定效应Logistic回归是一种广泛使用的统计模型,用于预测一个二分类(是/否)变量的概率。
它是一个推断性模型,通过估计每个自变量对结果变量的影响来得出结论。
固定效应是一种附加到回归模型中的方法,用于控制个体或单位固有的、不可观测的特征。
第二步:在R中加载所需的库在使用logistic回归和固定效应之前,我们首先需要加载所需的R库。
这些库包括`plm`(用于面板数据)和`lmtest`(用于检验统计模型)。
Rlibrary(plm)library(lmtest)第三步:准备数据要使用logistic回归和固定效应,我们需要准备一个包含面板数据的数据集。
面板数据集是一个具有多个时间点和多个个体或单位(例如国家、公司或个人)的数据集。
我们将使用一个虚拟数据集来演示这个过程。
Rdata <- read.csv("data.csv") # 从csv文件中读取数据集第四步:估计logistic回归模型现在我们可以估计logistic回归模型。
在这个模型中,我们将一个二分类的结果变量作为因变量,以及一些自变量,如年龄、性别和教育水平。
我们使用`glm()`函数来拟合模型。
Rmodel <- glm(outcome ~ age + gender + education, data = data, family = binomial)summary(model) # 打印模型摘要在模型摘要中,你可以看到每个自变量的系数估计值、标准误差和显著性水平。
这些值将告诉你每个自变量对结果变量的影响以及它们是否显著。
第五步:引入固定效应为了引入固定效应,我们将使用`plm`库中的`plm()`函数。
它允许我们指定一个公式和数据集,以及要控制的固定效应。
r语言中logistic回归的拟合优度检验
Logistic回归是一种用于预测离散结果的统计方法,常用于分类和预测模型中。
在进行Logistic回归模型拟合时,需要对模型的拟合
优度进行检验,以评估模型的合理性和有效性。
在R语言中,拟合优度检验一般采用Pearson卡方检验和残差分
析方法。
Pearson卡方检验用于测试模型拟合度是否显著,即观察值和期望值的差异是否在一定程度上可以归因于偶然因素。
在R语言中,
使用chisq.test()函数可以进行Pearson卡方检验,该函数需要提供
观察值和期望值两个参数。
另一个常用的拟合优度检验方法是残差分析。
该方法可以检验模
型对观测数据的拟合程度以及模型假设的合理性。
在R语言中,使用resid()函数可以得到模型的残差,同时使用plot()函数可以进行残差图分析,这可以帮助我们检查模型的误差分布是否符合正态分布假设。
需要注意的是,在拟合优度检验时,我们还需要考虑过拟合和欠
拟合的问题。
过拟合指的是模型过于复杂导致在训练数据上表现良好,但在新数据上表现不佳;欠拟合则指的是模型过于简单,不能拟合数
据集的特征。
因此,在进行拟合优度检验时,我们需要综合考虑模型
的复杂度与预测性能之间的平衡。
总之,拟合优度检验是评估Logistic回归模型的有效性和合理
性的重要方法,这也是数据分析和建模的不可或缺的一部分。
在R语
言中,我们可以使用Pearson卡方检验和残差分析两种方法来进行拟
合优度检验。
同时在检验过程中,需要注意避免过拟合和欠拟合的问题。
R语言机器学习logistic回归全套在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价、身高、GDP、学生成绩等,发现这些被预测的变量都属于连续型变量。
然而有些情况下,被预测变量可能是二元变量,即成功或失败、流失或不流失、涨或跌等,对于这类问题,线性回归将束手无策。
这个时候就需要另一种回归方法进行预测,即Logistic 回归。
在实际应用中,Logistic模型主要有三大用途:1)寻找危险因素,找到某些影响因变量的"坏因素",一般可以通过优势比发现危险因素;2)用于预测,可以预测某种情况发生的概率或可能性大小;3)用于判别,判断某个新样本所属的类别。
Logistic模型实际上是一种回归模型,但这种模型又与普通的线性回归模型又有一定的区别:1)Logistic回归模型的因变量为二分类变量;2)该模型的因变量和自变量之间不存在线性关系;3)一般线性回归模型中需要假设独立同分布、方差齐性等,而Logistic回归模型不需要;4)Logistic回归没有关于自变量分布的假设条件,可以是连续变量、离散变量和虚拟变量;5)由于因变量和自变量之间不存在线性关系,所以参数(偏回归系数)使用最大似然估计法计算。
logistic回归模型概述广义线性回归是探索“响应变量的期望”与“自变量”的关系,以实现对非线性关系的某种拟合。
这里面涉及到一个“连接函数”和一个“误差函数”,“响应变量的期望”经过连接函数作用后,与“自变量”存在线性关系。
选取不同的“连接函数”与“误差函数”可以构造不同的广义回归模型。
当误差函数取“二项分布”而连接函数取“logit函数”时,就是常见的“logistic回归模型”,在0-1响应的问题中得到了大量的应用。
Logistic回归主要通过构造一个重要的指标:发生比来判定因变量的类别。
在这里我们引入概率的概念,把事件发生定义为Y=1,事件未发生定义为Y=0,那么事件发生的概率为p,事件未发生的概率为1-p,把p看成x的线性函数;回归中,最常用的估计是最小二乘估计,因为使得p在[0,1]之间变换,最小二乘估计不太合适,有木有一种估计法能让p在趋近与0和1的时候变换缓慢一些(不敏感),这种变换是我们想要的,于是引入Logit变换,对p/(1-p)也就是发生与不发生的比值取对数,也称对数差异比。
r语言logistic回归及评价指标Logistic回归是一种常用的分类算法,它可以用于预测二元结果变量的概率。
在本文中,我们将介绍Logistic回归的原理和应用,并讨论评价指标来衡量模型的性能。
一、Logistic回归原理Logistic回归是一种广义线性模型,它通过将线性回归的结果经过一个逻辑函数(即Logistic函数)转换为概率值。
Logistic函数是一个S形曲线,它将输入值映射到0和1之间的范围。
对于二元分类问题,我们可以将输出大于0.5的样本预测为正类,小于等于0.5的样本预测为负类。
二、Logistic回归的应用Logistic回归广泛应用于各个领域的分类问题,例如医学诊断、金融风险预测、用户行为分析等。
以医学诊断为例,我们可以使用Logistic回归来预测某种疾病的患病概率。
通过收集一些患者的特征,如年龄、性别、血压等,构建Logistic回归模型,就可以预测其他患者是否患病。
三、评价指标在使用Logistic回归模型进行分类预测时,我们需要评估模型的性能。
以下是一些常用的评价指标:1. 准确率(Accuracy):准确率是最直观的评价指标,表示模型预测正确的样本数占总样本数的比例。
准确率越高,模型的性能越好。
2. 精确率(Precision):精确率是指模型预测为正类的样本中,真正为正类的比例。
精确率高表示模型在预测正类时较为准确。
3. 召回率(Recall):召回率是指真正为正类的样本中,被模型预测为正类的比例。
召回率高表示模型对正类的预测能力较强。
4. F1值(F1 score):F1值是精确率和召回率的调和均值,用于综合评估模型的性能。
当精确率和召回率都很高时,F1值也会较高。
5. ROC曲线:ROC曲线是以模型的真正类率(True Positive Rate,即召回率)为纵轴,假正类率(False Positive Rate)为横轴绘制的曲线。
ROC曲线可以直观地反映出模型在不同阈值下的性能。
logistic回归计算约登指数、灵敏度、特异度r语言概述说明1. 引言1.1 概述在医学、生物统计学和机器学习领域中,Logistic回归是一种经典的统计分析方法,用于预测二分类变量。
它通过建立一个线性模型,并使用sigmoid函数将线性输出转换为概率值,从而估计事件发生的概率。
Logistic回归广泛应用于各种领域,如医疗诊断、金融风险评估和市场营销等。
1.2 文章结构本文将首先介绍Logistic回归的基本原理和概念,并详细讨论参数估计与模型拟合的方法。
其次,我们将重点介绍约登指数、灵敏度和特异度这三个在分类问题中常用的评估指标。
针对约登指数,我们将探讨其计算方法及应用。
接着,我们将解释灵敏度的定义和计算公式,并说明在Logistic回归中如何进行灵敏度的计算。
最后,我们将讨论特异度的概念和作用,并介绍特异度的计算方法以及在Logistic回归中如何进行特异度的计算。
文章最后将给出结论部分总结了全文内容。
1.3 目的本文旨在向读者介绍Logistic回归模型,并详细说明如何计算约登指数、灵敏度和特异度。
通过阅读本文,读者将能够了解Logistic回归的基本概念和原理,掌握参数估计与模型拟合的方法,清晰地理解约登指数、灵敏度和特异度在分类问题中的含义和计算过程。
本文将结合R语言示例进行说明,帮助读者更好地理解相关概念和方法。
2. Logistic回归计算约登指数、灵敏度、特异度2.1 Logistic回归的概述和原理Logistic回归是一种常用的分类算法,主要用于处理二分类问题。
它通过建立一个线性模型和一个sigmoid函数来预测观测值属于某一类别的概率。
在Logistic回归中,我们假设观测值服从伯努利分布,并使用极大似然估计方法来求解模型参数。
通过最大化似然函数,我们可以得到每个自变量对应的系数,进而构建出Logistic回归模型。
2.2 参数估计与模型拟合Logistic回归的参数估计通常使用最大似然估计方法。
logistic回归模型的分类评估及r语言实现logistic回归模型的分类评估及R语言实现引言在机器学习中,logistic回归是一种常用的分类算法。
该算法用于预测二分类问题的概率,能够根据自变量的线性组合估计出目标类别的概率。
本文将介绍logistic回归模型的评估指标,并使用R语言实现相关代码。
一、分类评估指标1. 准确率(Accuracy)准确率是最常见的分类模型评估指标之一。
它表示分类器正确分类的样本数量占总样本数量的比例。
计算公式如下:准确率= (TP + TN) / (TP + TN + FP + FN)其中,TP(True Positive)表示真正例的数量,即阳性样本分类正确的数量;TN(True Negative)表示真反例的数量,即阴性样本分类正确的数量;FP(False Positive)表示假正例的数量,即阴性样本被错误地分类为阳性的数量;FN(False Negative)表示假反例的数量,即阳性样本被错误地分类为阴性的数量。
2. 精确率(Precision)精确率表示分类器将正例(阳性样本)正确分类的能力。
计算公式如下:精确率= TP / (TP + FP)精确率越高,表示分类器将阳性样本误判为阴性样本的概率较低。
3. 召回率(Recall)召回率表示分类器对阳性样本的识别能力,即将阴性样本误判为阳性样本的概率较低。
计算公式如下:召回率= TP / (TP + FN)召回率越高,表示分类器对阳性样本的识别能力越强。
4. F1分数(F1 Score)F1分数是精确率和召回率的调和平均值,综合了两者的性能。
计算公式如下:F1分数= 2 * (精确率* 召回率) / (精确率+ 召回率)F1分数越高,表示分类器的综合性能越好。
5. ROC曲线与AUCROC曲线(Receiver Operating Characteristic Curve)是以假阳性率(False Positive Rate)为横坐标,真阳性率(True Positive Rate)为纵坐标的曲线。
写在前面的废话2014,又到了新的一年,首先祝大家新年快乐,也感谢那些关注我的博客的人。
现在想想数据挖掘课程都是去年的事了,一直预告着,盘算着年内完工的分类算法也拖了一年了。
本来打算去年就完成分类算法,如果有人看的话也顺带提提关联分析,聚类神马的,可是,。
借着新年新气象的借口来补完这一系列的文章,可是,这明明就是在发。
尽管这个是预告里的最后一篇,但是我也没打算把这个分类算法就这么完结。
尽管每一篇都很浅显,每个算法都是浅尝辄止的,在deep learning那么火的今天,掌握这些东西算起来屌丝得不能再屌丝了。
考虑到一致性与完备性,最后补上两篇一样naive的:组合方法提高分类效率、几种分类方法的绩效讨论。
希望读到的人喜欢。
算法六:logistic回归由于我们在前面已经讨论过了神经网络的分类问题(参见《R语言与机器学习学习笔记(分类算法)(5)》),如今再从最优化的角度来讨论logistic回归就显得有些不合适了。
Logistic 回归问题的最优化问题可以表述为:寻找一个非线性函数sigmoid的最佳拟合参数,求解过程可使用最优化算法完成。
它可以看做是用sigmoid函数作为二阈值分类器的感知器问题。
今天我们将从统计的角度来重新考虑logistic回归问题。
一、logistic回归及其MLE当我们考虑解释变量为分类变量如考虑一个企业是否会被并购,一个企业是否会上市,你的能否考上研究生这些问题时,考虑线性概率模型P(yi =1)= β0 + β1xi 显然是不合适的,它至少有两个致命的缺陷:1、概率估计值可能超过1,使得模型失去了意义;(要解决这个问题并不麻烦,我们将预测超过1的部分记为1,低于0的部分记为0,就可以解决。
这个解决办法就是计量里有一定历史的tobit模型)2、边际效应假定为不变,通常来说不合经济学常识。
考虑一个边际效应递减的模型(假定真实值为蓝线),可以看到线性模型表现很差。
但是sigmoid函数去拟合蓝线确实十分合适的。
于是我们可以考虑logistic回归模型:假定有N个观测样本Y1,Y2,…,YN,设P(Yi=1|Xi)=π(Xi)为给定条件Xi下得到结果Yi=1的条件概率;而在同样条件下得到结果Yi=0的条件概率为P(Yi=0|Xi)=1-π(Xi),于是得到一个观测值的概率P(Yi)=π(Xi)Yi[1-π(Xi)]1-Yi假设各观测独立,对logistic回归模型来说,其对数似然函数为:于是便可求解出logistic模型的MLE。
二、logit还是probit?虽说sigmoid函数对边际递减的模型拟合良好,但是我们也要知道S型函数并非仅sigmoid函数一个,绝大多数的累积分布函数都是S型的。
于是考虑F-1(P)(F为标准正态分布的累积分布函数)也不失为一个很好的选择。
像这样的,对概率P做一点变换,让变换后的取值范围变得合理,且变换后我们能够有办法进行参数估计的,就涉及到广义线性模型理论中的连接函数。
在广义线性模型中我们把log(P/(1-P))称为logit,F-1(P)(F为标准正态分布的累积分布函数)称为probit。
那么这里就涉及到一个选择的问题:连接函数选logit还是probit?logistic回归认为二分类变量服从伯努利分布,应当选择logit,而且从解释的角度说,p/(1-p)就是我们常说的odds ratio,也就是软件报告中出现的OR值。
但是probit也有它合理的一面,首先,中心极限定理告诉我们,伯努利分布在样本够多的时候就是近似正态分布的;其次,从不确定性的角度考虑,probit认为我们的线性概率模型服从正态分布,这也是更为合理的。
我们来看一下经过变换后,自变量和P的关系是什么样子的:如果你确实想知道到底你的数据用哪一个方法好,也不是没有办法,你可以看一下你的残差到底是符合logit函数呢还是符合probit函数,当然,凭肉眼肯定是看不出来的,因为这两个函数本来就很接近,你可以通过函数的假定,用拟合优度检验一下。
但通常,估计不会有人非要这么较真,因为没有必要。
但是有一点是要注意的,logit模型较probit模型而言具有厚尾的特征,这也是为什么经济学论文爱用logit的原因。
我们以鸢尾花数据中的virginica,versicolor两类数据分类为例,看看两种办法分类有无差别。
probit.predictions versicolor virginica versicolor 47 3 virginica 3 47 logit.predictions versicolor virginica versicolor 47 3virginica 3 47从上图与比较表格均可以看出,两者差别不大。
三、多项式logit与order logit对于二项分类模型的一个自然而然的推广便是多项分类模型。
我们借鉴神经网络里提到的异或模型,有:按照上面这种方法,给定一个输入向量x,获得最大hθ(x)的类就是x所分到的类。
选择最大的 hθ(x)十分好理解:在类别选择问题中,不论要选的类别是什么,每一个类别对做选择的经济个体来说都有或多或少的效用(没有效用的类别当然不会被考虑) ,一个类别的脱颖而出必然是因为该类别能产生出最高的效用。
我们将多项logit模型的数学表述叙述如下:假定对于第i个观测,因变量Yi有M个取值:1,2,…,M,自变量为Xi,则多项logit模型为:与logistic回归的似然估计类似,我们可以很容易写出多项logit的对数似然函数:多项 Logit模型虽然好用,但从上面的叙述可以看出,多项 Logit 模型最大的限制在于各个类别必须是对等的,因此在可供选择的类别中,不可有主要类别和次要类别混杂在一起的情形。
例如在研究旅游交通工具的选择时,可将交通工具的类别粗分为航空、火车、公用汽车、自用汽车四大类,但若将航空类别再依三家航空公司细分出三类而得到总共六个类别,则多项 Logit 模型就不适用,因为航空、火车、公用汽车、自用汽车均属同一等级的主要类别,而航空公司的区别则很明显的是较次要的类别,不应该混杂在一起。
在这个例子中,主要类别和次要类别很容易分辨,但在其他的研究中可能就不是那么容易,若不慎将不同层级的类别混在一起,则由多项 Logit 模型所得到的实证结果就会有误差。
对于分类模型,我们还会遇到被解释变量中有分类变量的情形。
对于连续变量解释离散变量,且被解释的离散变量是有顺序的(这个是和多项logit最大的区别)的情形,我们就需要考虑到order logit模型。
其数学模型叙述如下:其中,F(.)表示累积分布函数,当F表示正态分布的分布函数时,对应的是order probit;F表示logistic分布时,变对应order logit。
与logistic分布类似,我们可以很容易写出其对数似然函数:四、dummy variable在logistic回归中,经常会遇到解释变量为分类变量的情形,比如收入:高、中、低;地域:北京、上海、广州等。
这里对分类变量而言就涉及一个问题:要不要将分类变量设置dummy variable?这个问题的答案在线性模型中很显然,必须要这么做如果我们不设置哑变量,而是单纯地赋值:北京=1,上海=2,广州=3,即我们将自变量视作连续性的数值变量,但这仅仅是一个代码而己,并不意味着地域间存在大小次序的关系,即并非代表被解释变量(响应变量)会按此顺序线性增加或减少。
即使是有序多分类变量,如家庭收入分为高、中、低三档,各类别间的差距也是无法准确衡量的,按编码数值来分析实际上就是强行规定为等距,这显然可能引起更大的误差。
但是在logistic回归中,由于logit(p)变化的特殊性,在解释定序变量时,为了减少自由度(即解释变量个数),我们常常将定序变量(如家庭收入分为高、中、低)视为连续的数值变量,而且经济解释可以是XX每提高一个档次,相应的概率会提高expression(delta(XX))(expression的表达式还是很复杂的,不打了)。
当然减少变量个数是以牺牲预测精度为代价的。
毕竟数据处理是一门艺术而非一门技术,如何取舍还得具体问题具体分析。
当然,非定序的分类变量是万万不可将其视为数值变量的。
五、广义线性模型的R实现R语言提供了广义线性模型的拟合函数glm(),其调用格式如下:glm(formula, family = gaussian, data,weights, subset,na.action, start = NULL, etastart, mustart, offset,control= list(...), model = TRUE, method = "glm.fit",x =FALSE, y = TRUE, contrasts = NULL, ...)参数说明:Formula:回归形式,与lm()函数的formula参数用法一致Family:设置广义线性模型连接函数的典则分布族,glm()提供正态、指数、gamma、逆高斯、Poisson、二项分布。
我们的logistic回归使用的是二项分布族binomial。
Binomial族默认连接函数为logit,可设置为probit。
Data:数据集鸢尾花例子使用的R代码:logit.fit <- glm(Species~Petal.Width+Petal.Length,family = binomial(link = 'logit'),data = iris[51:150,])logit.predictions <- ifelse(predict(logit.fit) > 0,'virginica','versicolor')table(iris[51:150,5],logit.predictions)probit.fit <- glm(Species~Petal.Width+Petal.Length,family = quasibinomial(link = 'probit'),data = iris[51:150,])probit.predictions <- ifelse(predict(probit.fit) >0,'virginica','versicolor')table(iris[51:150,5],probit.predictions)程序包mlogit提供了多项logit的模型拟合函数:mlogit(formula, data, subset, weights,na.action, start = NULL,alt.subset = NULL, reflevel = NULL,nests = NULL, un.nest.el = FALSE, unscaled = FALSE,heterosc = FALSE, rpar = NULL, probit = FALSE,R = 40, correlation = FALSE, halton = NULL,random.nb = NULL, panel = FALSE, estimate = TRUE,seed = 10, ...)mlogit.data(data, choice, shape = c("wide","long"), varying = NULL,sep=".",alt.var = NULL, chid.var = NULL, alt.levels = NULL,id.var = NULL, opposite = NULL, drop.index = FALSE,ranked = FALSE, ...)参数说明:formula:mlogit提供了条件logit,多项logit,混合logit多种模型,对于多项logit的估计模型应写为:因变量~0|自变量,如:mode ~ 0 | incomedata:使用mlogit.data函数使得数据结构符合mlogit函数要求。