离散选择模型中的分散系数theta到底该放在哪里呢?
前言
\quad~~ 一直都在想为啥子离散选择模型中分散系数以分母形式出现而在路径选择公式中以系数形式出现呢?看着公式想了想,现在想出了一个似乎感觉应该差不多很合理的答案,希望与大家一起探讨。
进入正题
根据随机效用理论,决策者在面对 nnn 个备选方案做选择时,会根据自身的意愿感知哪一个备选方案对自身而言是最好的,从而作出自身选择。这里的最好用数量来进行衡量就可以说是效用最高的
比如从A点到B点共有 nnn 条路,我现在需要从A点到B点,从节约时间的角度来考虑的话,那么我肯定希望选择最快捷的一条路。即如果我能以最快的时间到达我的目的地的话,对我而言,我就得到了最高的出行效用。
通常呢,我们的感知能力是有限的,如果我们记选择任意一个方案 jjj 的效用为 UjU_jUj,那么 UjU_jUj 为一个随机变量,它可以分为两部分,一部分呢是我们可以以实际那数字量化出来的,我们称为系统效用。另一部分呢为我们无法测量出来的,或估测时的误差,为一个随机变量,我们称为感知误差项。因此这里的方案 jjj 的效用 UjU_jUj 就可以写为系统效用 VjV_jVj 与随机误差项 εj\varepsilon_jεj 的和,即:
Uj=Vj+εj.(1)U_j=V_j+\varepsilon_j.\tag{1}Uj=Vj+εj.(1)
在多项式Logit模型中,我们假设随机误差项 εj\varepsilon_jεj 服从零均值的Gumbel分布,其概率密度函数与累积分布函数分别为:
f(x)=1θexp(−xθ−Φ)exp[−exp(xθ−Φ)],(2)f(x)=\frac{1}{\theta}exp(-\frac{x}{\theta}-\Phi)exp[-exp(\frac{x}{\theta}-\Phi)],\tag{2}f(x)=θ1exp(−θx−Φ)exp[−exp(θx−Φ)],(2)F(x)=Pr(εj≤x)=exp[−exp(xθ−Φ)],(3)F(x)=Pr(\varepsilon_j\leq x)=exp[-exp(\frac{x}{\theta}-\Phi)],\tag{3}F(x)=Pr(εj≤x)=exp[−exp(θx−Φ)],(3)这里的参数 Φ\PhiΦ 为欧拉常数,Φ≈0.577\Phi\approx0.577Φ≈0.577。
从而可以得出决策者选择备选方案 jjj 的概率为:pj=Pr(Uj>Uk,∀k≠j)=exp(Vj/θ)∑kexp(Vk/θ).(4)p_j=Pr(U_j>U_k,\forall k\neq j)=\frac{exp(V_j/\theta)}{\sum_k exp(V_k/\theta)}.\tag{4}pj=Pr(Uj>Uk,∀k=j)=∑kexp(Vk/θ)exp(Vj/θ).(4)
而通常在路径选择情形中我们以出行阻抗作为我们的出行负效用(因为我们出行就会花费时间,金钱等,这都属于是对我们自身资源的一种消耗),负效用越小的路径被选择的可能性就会越大。这里呢,同样因为人们的感知,计算等能力有限,我们所判定的出行负效用也为一个随机变量,为可直接估量的系统效用与随机误差项的和。同样以路径 jjj 为例,其感知出行负效用为 CjC_jCj, 可进行估测的系统效用为 cjc_jcj,随机误差项为 ξj\xi_jξj, 则 CjC_jCj 就可写为:
Cj=cj+ξj,(5)C_j=c_j+\xi_j,\tag{5}Cj=cj+ξj,(5)那么选择路径 jjj 的效用就可以写为:Uj=−Cj,(6)U_j=-C_j,\tag{6}Uj=−Cj,(6)那么我们使用概率密度函数公式 (2) 计算得出的选择路径 jjj 的概率为:
pj=Pr(Uj>Uk,∀k≠j)=exp(−cj/θ)∑kexp(−ck/θ).(7)p_j=Pr(U_j>U_k,\forall k\neq j)=\frac{exp(-c_j/\theta)}{\sum_k exp(-c_k/\theta)}.\tag{7}pj=Pr(Uj>Uk,∀k=j)=∑kexp(−ck/θ)exp(−cj/θ).(7)但通常呢,路径选择概率会写为如下形式:
pj=Pr(Uj>Uk,∀k≠j)=exp(−θcj)∑kexp(−θck).(8)p_j=Pr(U_j>U_k,\forall k\neq j)=\frac{exp(-\theta c_j)}{\sum_k exp(-\theta c_k)}.\tag{8}pj=Pr(Uj>Uk,∀k=j)=∑kexp(−θck)exp(−θcj).(8)所以公式 (7) 和 (8) 同样是路径选择概率公式为什么不一样呢?
解决问题
观察概率密度函数,即公式 (2), 如果令 y=−xθy=-\frac{x}{\theta}y=−θx, 那么就有f(−θy)=1θexp(y−Φ)exp[−exp(y−Φ)],(9)f(-\theta y)=\frac{1}{\theta}exp(y-\Phi)exp[-exp(y-\Phi)],\tag{9}f(−θy)=θ1exp(y−Φ)exp[−exp(y−Φ)],(9)那么θf(−θy)=exp(y−Φ)exp[−exp(y−Φ)],(10)\theta f(-\theta y)=exp(y-\Phi)exp[-exp(y-\Phi)],\tag{10}θf(−θy)=exp(y−Φ)exp[−exp(y−Φ)],(10)对应的累积分布函数为θF(−θy)=exp[−exp(y−Φ)],(11)\theta F(-\theta y)=exp[-exp(y-\Phi)],\tag{11}θF(−θy)=exp[−exp(y−Φ)],(11)看着公式 (10) 和公式 (11) 是不是相对于(2),(3) 来说更简洁呢?公式 (10) 和公式 (11) 变成了零均值的标准Gumbel分布。所以如果公式(2)为随机变量 εj\varepsilon_jεj 的概率密度函数,从简化的角度来看,我们是不是可以让随机变量 ξj=−εj/θ\xi_j =- \varepsilon_j/\thetaξj=−εj/θ,即εj=−θξj\varepsilon_j= -\theta \xi_jεj=−θξj,那么为了统一公式 (6),我们可以令 Vj=−θcjV_j = -\theta c_jVj=−θcj,那么 εj\varepsilon_jεj 经过处理后的概率密度函数就可以表示为公式 (10) 和公式 (11),即选择路径 jjj 的概率就表示为pj=∫−∞+∞exp[−exp(εj+Vj−Vk−Φ)]∗exp(εj−Φ)exp[−exp(εj−Φ)]dεj,(12)p_j=\int_{-\infty}^{+\infty}exp[-exp(\varepsilon_j+V_j-V_k-\Phi)]* \\ exp(\varepsilon_j-\Phi)exp[-exp(\varepsilon_j-\Phi)]d\varepsilon_j, \tag{12}pj=∫−∞+∞exp[−exp(εj+Vj−Vk−Φ)]∗exp(εj−Φ)exp[−exp(εj−Φ)]dεj,(12)
整理可得概率公式为:pj=Pr(Uj>Uk,∀k≠j)=exp(Vj)∑kexp(Vk),(13)p_j=Pr(U_j>U_k,\forall k\neq j)=\frac{exp(V_j)}{\sum_k exp(V_k)},\tag{13}pj=Pr(Uj>Uk,∀k=j)=∑kexp(Vk)exp(Vj),(13)将 Vj=−θcjV_j = -\theta c_jVj=−θcj代入公式 (13),即得到公式 (8)。
相关文章:
离散选择模型中的分散系数theta到底该放在哪里呢?
前言 \quad~~一直都在想为啥子离散选择模型中分散系数以分母形式出现而在路径选择公式中以系数形式出现呢?看着公式想了想,现在想出了一个似乎感觉应该差不多很合理的答案,希望与大家一起探讨。 进入正题 根据随机效用理论,决策…...
【CSAPP】进程 | 上下文切换 | 用户视角下的并发进程
💭 写在前面:本文将学习《深入理解计算机系统》的第六章 - 关于异常控制流和系统级 I/O 的 进程部分。CSAPP 是计算机科学经典教材《Computer Systems: A Programmers Perspective》的缩写,该教材由Randal E. Bryant和David R. OHallaron 合著…...
节流还在用JS吗?CSS也可以实现哦
函数节流是一个我们在项目开发中常用的优化手段,可以有效避免函数过于频繁的执行。一般函数节流用在scroll页面滚动,鼠标移动等。 为什么需要节流呢,因为触发一次事件就会执行一次事件,这样就形成了大量操作dom,会出现卡顿的情况…...
带你看看 TypeScript 5.0 的新特性
一、写在前面 TypeScript 5.0 已经于 2023 年 3 月 16 日发布了,带来了许多新功能,同时也在性能方面进行了优化,下面让我们来一起看看新版 TypeScript 中比较有重要的变化吧。 二、新特性 2-1、速度、包体积优化 首先是新版本性能的提升&…...
C语言预处理条件语句的 与或运算
C语言预处理条件语句的 与或运算 1.#ifdef 与或运算 #ifdef (MIN) && (MAX) ----------------------------错误使用 #if defined(MIN) && defined(MAX) ---------------- 正确使用 #ifdef (MIN) || (MAX) -----------------------------错误使用 …...
从零实现深度学习框架——学习率调整策略介绍
引言 本着“凡我不能创造的,我就不能理解”的思想,本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架,该框架类似PyTorch能实现自动求导。 要深入理解深度学习,从零开始创建的经验非常重要,从自己可以理解的角度出发,尽量不使用外部完备的框架前提下,实现我…...
系统架构:经典三层架构
引言 经典三层架构是分层架构中最原始最典型的分层模式,其他分层架构都是其变种或扩展,例如阿里的四层架构模式和DDD领域驱动模型。阿里的 四层架构模型在三层基础上增加了 Manager 层,从而形成变种四层模型;DDD架构则在顶层用户…...
数据结构--二叉树
目录1.树概念及结构1.1数的概念1.2数的表示2.二叉树概念及结构2.1二叉树的概念2.2数据结构中的二叉树2.3特殊的二叉树2.4二叉树的存储结构2.4.1顺序存储2.4.2链式存储2.5二叉树的性质3.堆的概念及结构3.1堆的实现3.1.1堆的创建3.1.2堆的插入3.1.3堆顶的删除3.1.4堆的代码实现3.…...
Keil5安装和使用小记
随着keil版本的更新,一些使用问题一随之产生。本文针对安装目前最新版本keil软件和使用问题做一些总结。 目录1 Keil5下载&安装1.1 官网下载链接1.2 软件安装1.2.1 安装说明1.2.2 关于 51 和 ARM 共存的问题1.3 软件破解2 pack包安装 & 破解2.1 下载2.2 安装…...
多机器人集群网络通信协议分析
本文讨论的是多机器人网络通信各层的情况和协议。 每个机器人连接一个数据传输通信模块(以下简称为数传,也泛指市面上的图传或图数一体的通信模块),数传之间进行组网来传递信息。 根据ISO的划分,网络通信的OSI模型分…...
【PyTorch】手把手带你快速搭建PyTorch神经网络
手把手带你快速搭建PyTorch神经网络1. 定义一个Class2. 使用上面定义的Class3. 执行正向传播过程4. 总结顺序相关资料话不多说,直接上代码1. 定义一个Class 如果要做一个神经网络模型,首先要定义一个Class,继承nn.Module,也就是i…...
【完整代码】用HTML/CSS制作一个美观的个人简介网页
【完整代码】用HTML/CSS制作一个美观的个人简介网页整体结构完整代码用HTML/CSS制作一个美观的个人简介网页——学习周记1HELLO!大家好,由于《用HTML/CSS制作一个美观的个人简介网页》这篇笔记有幸被很多伙伴关注,于是特意去找了之前写的完整…...
Java分布式事务(九)
文章目录🔥XA强一致性分布式事务实战_Atomikos介绍🔥XA强一致性分布式事务实战_业务说明🔥XA强一致性分布式事务实战_项目搭建🔥XA强一致性分布式事务实战_多数据源实现🔥XA强一致性分布式事务实战_业务层实现…...
基于深度学习的动物识别系统(YOLOv5清新界面版,Python代码)
摘要:动物识别系统用于识别和统计常见动物数量,通过深度学习技术检测日常几种动物图像识别,支持图片、视频和摄像头画面等形式。在介绍算法原理的同时,给出Python的实现代码、训练数据集以及PyQt的UI界面。动物识别系统主要用于常…...
K8S集群之-ETCD集群监控
### 生产ETCD集群监控核心指标 etcd服务存活状态 up{job~"kubernetes-etcd.*"}0 说明:up0代表服务挂掉 etcd是否有脱离情况 etcd_server_has_leader{job~"kubernetes-etcd.*"}0 说明:每个instance,该值应该都…...
一文弄懂熵、交叉熵和kl散度(相对熵)
一个系统中事件发生的概率越大,也就是其确定性越大,则其包含的信息量越少,可以认为一个事件的信息量就是该事件发生难度的度量,事件所包含的信息量越大则其发生的难度越大。并且相互独立的事件,信息量具有可加性。相互…...
10从零开始学Java之开发Java必备软件Intellij idea的安装配置与使用
作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者前言壹哥在前面的文章中,带大家下载、安装、配置了Eclipse这个更好用的IDE开发工具,并教会了大家如何在Ecli…...
04 - 进程参数编程
---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录1. 问题1.1 再论execve(...)1.2 main函数(默认进程入口)1.3 进程空间概要图1.4 编程实验:进程参数剖析1…...
【python进阶】你真的懂元组吗?不仅是“不可变的列表”
📚引言 🙋♂️作者简介:生鱼同学,大数据科学与技术专业硕士在读👨🎓,曾获得华为杯数学建模国家二等奖🏆,MathorCup 数学建模竞赛国家二等奖🏅,…...
《C++ Primer Plus》(第6版)第13章编程练习
《C Primer Plus》(第6版)第13章编程练习《C Primer Plus》(第6版)第13章编程练习1. Cd类2. 使用动态内存分配重做练习13. baseDMA、lacksDMA、hasDMA类4. Port类和VintagePort类《C Primer Plus》(第6版)第…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
