《系统动力学模型构建与Vensim仿真》02-Vensim基本的功能和认识
《系统动力学模型构建与Vensim仿真》02-Vensim基本的功能和认识
1.基本操作
Vensim软件可以在其官方网站(https://vensim.com/)下载。建议下载免费版本的PLE版本,需要选择对应的版本并填写你的名字和邮箱地址。软件下载链接会发送到邮箱当中,所以需要填写正确邮箱地址。
下载并打开软件后,界面大致如下:
1.1新建一个变量
选择变量按键A,就可以新建出来两个变量,银行和银行货币。存款和银行货币之间的因果关系是,给银行的存款多了,那么银行货币也变多,所以可以构建二者之间的因果关系,为蓝色的箭头。由于我们的变量名称是中文的,会导致不显示的问题,因此就需要在选中变量的状态下,右击选择中文字体。
修改二者之间的关系,就可以选中线条,右击,选择正的线条:
1.2变量的类型
- 存量:就像一个水池一样,可以有流入,和流出的变量
- 速率变量:可以流入和流出水池
- 中间变量:就是夹在两个变量之间的变量
- 常量:就是没有别的变量对其造成影响的变量
- 影子变量:有影子变量就必然有一个主体,那么影子变量就是和主体一样,主体变,影子也跟着变的变量
用箭头设置变量之间的相互影响:
1.3 设置变量的公式
如果要对某一个变量设置公式,就可以选中变量循着fx公式按钮。因为这个当前这个变量,没有别的变量流入他,那他就默认就是一个常量,当然我们也给他取名叫做了常量。我们可以给他设置一个初始值。
- 中间变量:默认显示的是辅助变量。中间变量会有一个成分栏,就是有哪些变量会影响他
- 入这个速率变量,由于他也是夹在中间,所以他默认也是显示出来辅助变量
- 存量:默认是状态变化量,这个变量的方程,当前收到输入和输出的影响,所以方程自己生成了输入-输出。这个变量还需要自己设置一个初始值。可以是0,也可以是别的。
函数的类型:
2.案例操作
2.1新建一个人口案例,因果关系图
可以根据人口之间的关系,新建一个下面的案例。根据变量之间的关系,可以标记出变量正负反馈回路的极性标记。创建回路并添加回路标签。
其中,负反馈会改变回路的状态,正反馈不会改变回路的状态。回路取决于其中负极性标签的数量。数量为奇数,则为负反馈,为偶数则为正反馈。
最终因果关系图:
保存,下一步新建一个存量流量图
2.2存量流量图
新建一个模型,需要先设置模型的初始状态和时间,以及时间间隔。根据上面因果关系,构建出来一个存量流量图。
2.3 函数建模
下面就对每一个变量构建影响函数。其中人口出生用表函数。因为人口出生受到时间的影响,因此需要有一个影子变量提么作为其输入。
表函数不能被预测! 因为表函数是你输入的常量值,他的唯一作用就是随着系统时间的推移,在每一单位时间向系统内输入一个你设定好的值,输入完就没它的事了。因此,如果表函数设置的时间小于系统仿真的时间,那么系统就会默认用最后的已有的值去补齐缺少的数值。比如表函数输入了10年的数据,而系统仿真时间为15年,那么从11-15年所用的数据就都会是第10年的数据。
下面就是其他变量的设置。常说的预测其实是对函数结果的计算,一般表现为最后的存量。存量的结果是根据所输入的常量以及每个辅助变量和速率变量之间所构建的复杂函数关系而生成的,它本身是没有值的,所以最后计算出来的结果本身就是对它进行的预测(或仿真)。这边所说的预测其实是理论计算的结果,一般来说,这个结果可能会有对应的真实值存在,也有可能是我们自己构造出来的抽象事物。当有真实值的时候,我们就可以来进行仿真结果的准确性检验,通过理论与现实的比较来检验我们模型的准确性。而如果不存在真实值,那么这个结果就是我们预测出来的值了。
2.4仿真
2.4.1初步仿真
可以选择这个仿真按钮,一次看到所有变量的仿真结果,可以动态调整,这样你就不要一次次看每个变量变化是否符合你的预期。
初步结果:
选中人口数量,可以通过下面的实现溯源,影响人口数量其他变量的波动:
同理也可以看出人口增长,以及对应影响因素的变化:
2.4.2 敏感性分析
通过修改变量的值,查看不同变量的变化情况,分析不同因素的敏感性。针对单个变量变化分析,记得修改过哪些值,换变量分析的时候,记得改回来。
首先,修改保存的数据集名字,假设修改外来移民,从200改为300。就可以看到外来移民的变化,对人口增长的变化:
那么我现在要修改,自然死亡。先把刚才修改的外来移民,从300重新改回来200;先分析单个变量变化,如果要多个变量的变化,也可以一次修改多个变量。自然死亡改为300.那么新的仿真结果就出来了。