【Python计量】Logit模型

文章目录

  • 一、离散选择模型
  • 二、Logit模型
  • 三、Logit模型的python实现——采用statsmodels
    • (一)案例一
    • (二)案例二

一、离散选择模型

莎士比亚曾经说过:To be, or not to be, that is the question,这就是典型的离散选择模型。如果被解释变量时离散的,而非连续的,称为“离散选择模型”。例如,消费者在购买汽车的时候通常会比较几个不同的品牌,如福特、本田、大众等。如果将消费者选择福特汽车记为Y=1,选择本田汽车记为Y=2,选择大众汽车记为Y=3;那么在研究消费者选择何种汽车品牌的时候,由于因变量不是一个连续的变量(Y=1, 2, 3),传统的线性回归模型就有一定的局限。

其它的一些常见的离散选择行为的案例还包括:

  • 化妆品牌的选择:雅诗兰黛、兰蔻、欧莱雅…
  • 就餐地点的选择:餐厅甲、餐厅乙、餐厅丙…
  • 旅游风格的选择:自由游、跟团游、自助游…
  • 居住地点的选择:小区A、小区B、小区C…
  • 出行方式的选择:公交、地铁、打车、合乘、自驾、自行车…

二、Logit模型

在统计学里,概率(Probability)和Odds都是用来描述某件事情发生的可能性的。Odds指的是 事件发生的概率

### MATLAB 中 Logit 模型的实现 Logit 模型是一种广义线性模型 (GLM),通常用于二分类问题。在 MATLAB 中,可以通过 `fitglm` 函数来拟合逻辑回归模型[^1]。 #### 数据准备 为了构建一个有效的 Logit 模型,在数据预处理阶段需要注意以下几点: - 输入变量应标准化或归一化以提高数值稳定性。 - 响应变量应当是一个由两个类别组成的向量(例如 `[0, 1]` 或字符串标签)[^2]。 #### 使用 fitglm 实现 Logit 模型 下面展示了一个简单的例子,说明如何利用 `fitglm` 来创建并评估一个 Logit 模型: ```matlab % 创建示例数据集 X = randn(100, 2); % 随机生成输入特征矩阵 Y = X(:,1) + X(:,2) > 0; % 定义响应变量 Y (布尔值) % 转换为表格形式以便于 glm 的使用 data = array2table([X,Y],'VariableNames',{'Feature1','Feature2','Response'}); % 设置分布类型为 'binomial' model = fitglm(data,'Response ~ Feature1 + Feature2', ... 'Distribution','binomial'); disp(model); ``` 上述代码片段展示了如何通过指定 `'Distribution','binomial'` 参数将 GLM 应用于 Logistic 回归情境下[^3]。 #### 性能评估 完成建模之后,可以采用多种方法验证其性能表现,比如计算混淆矩阵或者 ROC 曲线下面积(AUC)[^4]: ```matlab predictedProbabilities = model.Fitted.Probability; [YTestScores,AUC] = perfcurve(data.Response,predictedProbabilities,... true,'xCrit','tpr'); plot(YTestScores(:,1),YTestScores(:,2)); title('ROC Curve') xlabel('False Positive Rate') ylabel('True Positive Rate') text(.7,.9,sprintf('AUC=%.2f', AUC)) grid on ``` 此部分提供了绘制接收者操作特性曲线的方法,并标注了所得到的曲线下面积作为衡量标准之一[^5]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值