包含标签 tech 的文章

模型思维(15)--基于阈值的模型

基于阈值的模型就是指当外部变量超过或低于特定的阈值时,人们的行为所发生的变化,引起整体的改变。基于阈值的行为很直观,也很容易产生临界点,例如当一个人加入社交活动的决定取决于已经参与了该项活动的人数时,随着越来越多的人参与该活动,参与者的总人数也超过了其他人的阈值,从而导致了参与的人越来越多。 骚乱模型 在基于阈值的模型中,个体根据某个总量变量是否超过阈值而决定采取两种行动中的哪一种。如果变量的值超过阈值,个体就采取一个行动,否则,就会采取另一个行动。 骚乱模型为每个人分配一个阈值。当参加骚乱的人数超过那个阈值时,这个人就会参加骚乱。一开始,只有那些阈值为零的人才会参加骚乱。这里所说的“骚乱”是一般的社会活动而不是暴乱,因此在这种情况下,参加骚乱也仅是指参与聚会。 举个例子:假设第一天,有200个阈值为零的人发动了一场社会活动。第二天,这200人继续参加,于是参与阈值低于200的人也加入了他们的行列。假设第二天新加入的人有500人,那么第三天,阈值低于700的人也会加入。而这可能会涉及好几千人。 那么什么样的群体可以使得参与的人最多呢?聪明的读者可能觉得如果这个群体的平均阈值比较低,那么所有人加入的可能性越大。 对于这个问题,我们可以通过如下三种可能的情形对于此进行分析,假设一共有1000个人可能参与这个活动: 所有人的阈值都是10。 有5个人的阈值为零,10个人的阈值为1,其他人的阈值均为20。 这1000人中每个人都有一个独特的阈值,范围为从0到999。 对于第一种情况,没有人会参与活动,因为无法达到阈值。……

阅读全文

模型思维(14)--系统动力学模型

在现实生活中,我们会遇到很多复杂的系统。其中各个部分存在正负反馈和相互依赖,我们可以通过系统动力学模型建立各个部分的关系,使得分析事情之间变化更加容易。 基本概念 系统动力学模型可以同时包括正反馈和负反馈。当变量或属性的增加导致同一变量或属性的更大增加时,就会出现正反馈。负反馈会抑制趋势,当一个变量出现快速增长,负反馈往往可以通过其他途径的作用将其变低。负反馈可以有助于系统层面的稳定性。 任何一个系统动力学模型都由源、汇、存量和流量组成。源产生存量;存量是某个变量的数量或水平;流量描述了存量水平的变化;汇能够捕获来自存量的流量输出;汇和源是不包含在模型中的过程的“占位符”;存量水平会根据源和流量随时间推移而变化。 下图的符号表明了系统动力模型的组成部分 这里我们利用面包师、面包和顾客组成的简单的面包店系统动力学模型:面包师制作面包,顾客购买面包。如果面包师生产面包的速度超过了顾客购买面包的速度,面包的库存量就会增加,面包店将会堆满面包。 在这幅图中,包括了一个从面包库存量到面包师生产面包的速度的流量(一个箭头)。我们在这个箭头上放了一个负号,以表示随着面包库存量的增加,生产面包的速度会下降。如果适当地调整速度,模型将产生一个均衡,使面包生产速度收敛于顾客购买面包的速度。 捕食者-猎物模型 我们现在介绍捕食者猎物模型,这是一个用来刻画野兔数量(猎物)与狐狸数量(捕食者)之间关系的生态模型。这个模型包括两个正反馈:野兔生下野兔、狐狸生下狐狸。它还包括一个负反馈:狐狸吃野兔。该模型假设野兔的存量水平很高,狐狸会产生更多的后代。 从图中可以看出,随着狐狸数量的增加,野兔数量的减少,从而又导致狐狸数量减少。而随着狐狸数量的下降,野兔数量应该增加,进而导致更多的狐狸。逻辑表明了循环的可能性,也可能是均衡,但我们无法确定。……

阅读全文

模型思维(13)--马尔可夫模型

马尔可夫模型对于理工科的同学来说应该很熟悉了,它可以用来刻画在一组有限状态之间不断转换的系统。马尔可夫模型可以应用于很多领域。我们可以用马尔可夫模型来解释动态现象,例如民主转型、战争升级和药物干预,还可以用于对网页、学术期刊和体育运动队进行排名,甚至可以用来辨别书籍和文章的作者身份。 马尔可夫模型的定义 马尔可夫由一组状态$S$ 和这些状态之间的转移概率构成$P$。每一个状态都可以通过固定的概率转换到另一个状态。 这是一个简单利用文本分析的例子,我们分析这么一句话。 “One fish two fish red fish blue fish”……

阅读全文

模型思维(12)--局部互动模型

在这一篇我们研究局部和整体相关的模型。当局部一致的时候,整体就会表现出一致吗?我们通过这篇的研究可以对于该问题进行很好的解释。 局部多数模型 这个模型建立在一个单元格的二维棋盘上,每个单元格有两种状态,0或1。初始时,我们将给每个单元格随机分配初始状态,之后每一个单元格的状态取决于其周围单元格的状态。在一个单元格周围的8个单元格中,有5个及以上的单元格是与之相反的状态时,这个单元格就会改变自己的状态。 下图展现了一个局部多数模型的均衡状态。虽然均衡状态取决于各个单元格的初始分布,但是对于初始条件并不敏感,改变一个单元格的初始状态导致的最终均衡状态改变的变化很小。 我们可以利用这个模型来刻画人与人之间的局部协调或一致性。假设每一个单元格都代表一个人的行动。这里的行动可以是任何行为惯例,例如握手或鞠躬,打断或举手。任何一个人都想选择一个与邻居相匹配的行动。棋盘代表社交网络。如果在计算机上对这个模型进行模拟,就会发现它总是能实现斑块状的均衡配置。许多单元格在1的状态下有一些邻居,在0的状态下也有一些邻居。 在斑块的交界处出现了次优均衡,如果1对应于以握手的方式表示欢迎、0对应于以鞠躬的方式表示欢迎,那么位于“斑块”边界上的人在与他们的邻居互动时可能会碰到一些尴尬的情况:当其他人准备握手时他们却准备鞠躬,或者当其他人准备鞠躬时他们却准备握手。如果每个人都选择了相同的动作,也就是说,如果他们解决了协调博弈问题,那么从整体上看,所有人都会更加开心。由于这种互动只作用于局部,因此出现了次优均衡。如果单元格是根据全局多数原则来匹配的,那么很快所有单元格都会处于相同的状态。这种观点意味着,创建共同行为可能需要影响更加广泛的网络。如果人们只在局部与自己的邻居协调,他们就会创造出各种各样的行为。因此矛盾的是,恰恰与协调产生了多样性。 生命游戏 这是一个很有意思的模型,有以下的规则: 方格上的每个单元格都或者是活的(1)或者是死的(0)。每个单元格的邻居由网格上的8个相邻单元格组成。单元格根据如下两个规则同步更新自己的状态: 活的规则:对于一个死单元格,当恰好有三个活的邻居时,这个死单元格就会变活。 死的规则:对一个活单元格,当活的邻居小于两个时或当有三个以上的活邻居死去时,这个活单元格就会死去。 根据这个规则可以得到一个简单的闪光灯均衡状态:……

阅读全文

模型思维(11)--路径依赖

上一篇我们讲到随机走动,这一篇我们将继续延伸这个话题。如果每次的行动与之前的行为结果相关,我们就可以得到路径依赖模型。在生活中,我们穿的衣服、读的书、看的电影,以及任何需要我们付出时间的活动,都可以应用路径依赖来分析。 波利亚过程 我们利用波利亚过程来刻画正反馈的效应。这里我们依旧使用从瓮里取白球和灰球的实验。一只瓮里面装着一个白球和一个灰球。每一周期,都随机抽取出一个球并将这个球与和它颜色相同的另一个球一起放回到瓮中。抽取出来的球的颜色表示结果。 波利亚过程可以用来刻画各种社会和经济现象。一个人选择学习打网球,还是打篮球,可能取决于其他人的选择。如果更多的朋友选择学习打网球,那么这个人就更有可能也选择学习打网球,因为这会增加他找到伙伴打比赛的机会。与此类似,一个人决定购买什么类型的软件、学习哪种语言或购买哪款智能手机,也可能取决于他的朋友以前做出的选择。 波利亚过程可以得到两个性质: 具有相同数量的白色结果的任何序列都会以相同的概率发生 P(GWWW) = P(WWWG) 白球和灰球的每个分布都以相同的概率发生 P(白球出现1次) = P(白球出现n次) 第二个性质就可以说明极端情况的可能性,白球只出现1%和白球出现50%的可能性是一样的。我们可以通过实验这个结果,初始只有两个球,之后进行100次抽取,统计其中白球的数量。将此实验重复10000次,理论上每一种白球的分布出现次数在100次左右。结果如图,发现每一种可能都是在100次的上下波动。……

阅读全文

模型思维(10)--随机走动

我们在这篇研究随机走动(random walk)。想象有一个点,每次可以随机的前进或退后一步,之后记录其与原点的距离。看似这个过程很简单,却可以利用其结论分析一些时间序列,例如销售额,股票价格等等。随机走动最初是用在研究物理学中液体和气体中粒子的运动,后来发现在生活中的很多现象也符合随机走动。 伯努利瓮模型 我们这里首先利用伯努利瓮模型研究随机走动。假设有一个装了灰球和白球的瓮,其中灰球有G个,白球W个。每一次从中取出一个球,记录抽取出来球的颜色。在下一次抽取之前,球要放回瓮中。每次抽到灰球的概率是 $P = \frac{G}{G + W}$。在抽取N次的情况下,可以计算出抽取出来的灰球的期望数量是$N_G$, 其标准差是 $\sigma_{N_G}$……

阅读全文

模型思维(9)--熵:对不确定性建模

这一篇我们来讨论“熵”的概念。熵可以用来计算一个系统中的失序现象,即混乱程度。简单来说,一个事件的熵越高,其可能带来的惊喜越大,因为其结果是无序,不可预测的。熵是一个用来描述系统状态的函数,在控制论、概率论、天体物理、生命科学中等领域都有应用。这里我们研究其在信息中的定义和应用。 信息熵 熵可以度量与结果概率分布相关的不确定性。我们可以利用抛硬币来进行理解,对于抛硬币的结果,只有正反面两种可能,其概率都是1/2,其不确定性较小,无论怎么猜都有50%的概率回答正确。但如果抛三次硬币,其可能出现的序列就有8种,如果我们想猜对的难度就大大增加。 给定一个概率分布$(p_1, p_2, p_3, p_4 … P_N)$,其信息熵H等于: $$H(p_1, p_2, p_3, p_4 … P_N) = - \sum ^N_{i=1} p_i log_2(p_i)$$……

阅读全文

模型思维(8)--广播模型、扩散模型和传染模型

这里我们将讨论三种传播模型,和目前世界正在经历的covid-19息息相关。这些模型同时也可以用来研究信息、技术、行为在人群中的传播,模型会将人群分为两部分,分别是知道的(感染的),不知道的(健康的),通过定义一些参数研究其中互相转换的关系。 广播模型 我们假定有一个固定人数的群体,其总人数是$N$。我们将$t$时刻知道这个信息的人看作$I_t$,除了这些知道信息的人以外,剩下的人都是可能获取信息的人,我们称作$S_t$。总人数 $N = S_t + I_t$。 $$ I_{t+1} = I_t + P_{broad} \times S_t$$……

阅读全文

模型思维(7)--网络模型

生活中处处有网络模型的存在,从传染病的传播到网络中站点连接,都可以抽象成一张张网络,将不同的节点连接起来。这篇将走进网络的基本结构,帮助大家理解一些生活中的现象。 网络的基本术语 网络是由节点和边组成的。每一个节点都可以通过边的连接到达另一个节点,这两个节点互为邻居。如果从一个节点可以到任意一个节点,我们称之为连接的网络。 在无向网络中,我们对于每个节点的连接数可以定义为节点的度(degree)。度分布可以告诉我们某个节点是不是比其他的节点连接的更多。 路径长度是指两个节点中的最短路径长度,与度成反比。当增加边的时候,就缩短了节点之间的平均长度。介数是指通过该节点的最小路径的百分比。在社交网络中,介数得分高的人掌握更多信息并且拥有更多权力。 最后一个基本术语是聚类系数,这个统计了一个节点的邻居们互相连接的比例。例如,一个人有10个朋友,这些朋友可以组成45个对。如果在这45个对当中,有15个对本身也是朋友,那么这个人的聚类系数就等于1/3。如果所有这45对都是朋友,那么这个人的聚类系数就等于1,这也是最大的聚类系数。整个网络的聚类系数等于各个节点聚类系数的平均值。 下面用中心辐射网络和地理网络举个例子: 中心辐射网络是所有节点和中心节点相连,但是都不互相连接。其基本的统计术语也比较好理解。 地理网络是每个节点都连接到位于它右侧和左侧的两个节点。每个节点具有相同的度,都是4。由于网络是对称的,所以每一个节点的介数也是相同的。这里一共12个节点,可以组成 12*11/2 = 66 个邻居对。其中一个节点是有6对邻居经过其是最短路径,所以介数是1/12。每个节点都有4个邻居,可以构成6个对。在这6个对中,恰好有3对是相互连接的:直接靠着该节点的左右两个节点分别连接到再外一点的节点,并相互连接。因此,聚类系数等于1/2。……

阅读全文

模型思维(6)--合作博弈模型

当人们在进行合作的时候,我们需要对于每个人的贡献进行分析,从而知道哪一个人对于群体的贡献最大,哪一个最小,以此可以作为分配奖励的标准。然而量化分析这个并不容易,因为当不同人组合在一起时,可能就会产生不同的结果。我们介绍几个与此相关的概念来解决这个问题。 合作博弈 合作博弈由一组博弈参与者和一个价值函数组成。价值函数是指在一项多人合作的项目中,每个可能的联盟(子集)所产生的价值。 在合作博弈中,一个参与者的”最后上车者价值“ (last-on-bus-value)是指当他最后一个加入组织所产生的价值。例如,如果一个桌子四个人才能搬动,搬动的价值是10,那么这四个人每个人的最后上车者价值就是10。如果三个人可以搬动,那个第四个人的最后上车者价值就是0。我们可以看出博弈的总价值不是所有参与者的最后上车者价值之和,如果当价值随着参与者增多递减时,最后上车者价值的总和将小于博弈的总价值。 最后上车者价值并不能很好的刻画每个人的贡献度,夏普利值(Shapley value)则可以。一个博弈参与者的夏普利值,等于他在所有可能加入的联盟的次序下对联盟边际贡献的平均值。对于一个$N$个人参与的博弈,一个有$N!$种可能加入的结果,对于某个参与者$i$, 计算在所有次序中当其加入对于整体的边际贡献的平均值。 我们可以用3个程序员合作写代码作为一例子,一个项目有500行需要写。以下是一个人单独做,两个人合作,以及三个人合作产生的结果。其中C可以看作程序员鼓励师,当一个做的时候结果不多,但是合作时可以大大提高两人的合作成果。 合作 价值 A 100 B 125 C 50 AB 270 BC 350 AC 375 ABC 500 3个人合作的话有6种可能……

阅读全文