楼主: nlm0402
9681 6

[实际应用] vensim如何进行“历史检验”,操作方法是什么? [推广有奖]

春风剑

已卖:179份资源

学术权威

80%

还不是VIP/贵宾

-

威望
8
论坛币
3455809 个
通用积分
76.6293
学术水平
343 点
热心指数
637 点
信用等级
268 点
经验
49185 点
帖子
6494
精华
3
在线时间
3245 小时
注册时间
2008-7-10
最后登录
2025-3-23

楼主
nlm0402 发表于 2011-8-20 11:37:16 |AI写论文
100论坛币
如题

关键词:Vensim vensi sim 历史 如何
爱智慧;hanxiao528;panjian39 ;夸克之一;np84;yyxf ;007jg ;nkunku;*****xyz;

沙发
nkunku 发表于 2011-8-21 06:12:00
(1)不要你悬赏的论坛币。
(2)随便搜索到一篇文献“基于未来经济发展的南宁市用水量研究”。里面是这么说的:“模型的历史检验:模型以2005年为基准年,选定2005—2008年的模拟数据与历史数据进行对比,一般主要变量的模拟值与实际值之间的差额不超过5%,模型可视为有效。现选定总用水量和总人口两个变量进行检验,如下表所示,发现它们的误差均在5%以内,预测值比较准确,模型的有效性较好。”由此可大概明白所谓模型的“历史检验”是什么意思。
(3)至于怎么做,我也没尝试过。要是需要检验的历史数据年限不长,可手工进行比对,就像这篇文献那样;如果年限很长,可将模拟得到的某变量值,与通过Lookup读入的历史数据进行比对。再计算它们的误差平方和;或者用Max函数找出其中误差最大者。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
nlm0402 + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
nlm0402 发表于 2011-8-21 06:30:15
nkunku 发表于 2011-8-21 06:12
(1)不要你悬赏的论坛币。
(2)随便搜索到一篇文献“基于未来经济发展的南宁市用水量研究”。里面是这么 ...
问题是,模型本身就是使用历史数据模拟的,现在如何和实际值比较呢?
比如t=x*y。其中x已知量,统计年鉴有数据,y为已知量,统计年鉴也有数据,将两个历史数据代入方程,算出来每年的t。t是统计年鉴里没有的,那么现在好像没有模拟数据,只有历史数据啊?
如果是c=0.8gdp那么,可以把历年的GDP代入方程,算出C消费,这样在统计年鉴找到消费数据,和算出的消费进行比较,这样可以比较,应该没问题。
但是如果使用vensim软件进行automatically simulate on chang的话,发现算出来的t和使用计算器算出来的t值,每年的值都有些区别,这个计算器算出的t和vensims算出的t能否分别理解为实际数据和模拟数据呢?
谢谢!
爱智慧;hanxiao528;panjian39 ;夸克之一;np84;yyxf ;007jg ;nkunku;*****xyz;

板凳
nkunku 发表于 2011-8-21 07:14:33
(1)我想,模型的历史检验指的应该是你所说的第二种情形,即“如果是c=0.8gdp那么,可以把历年的GDP代入方程,算出C消费,这样在统计年鉴找到消费数据,和算出的消费进行比较,这样可以比较,应该没问题。

(2)如果非要进行第一种情形的检验,即“比如t=x*y。其中x已知量,统计年鉴有数据,y为已知量,统计年鉴也有数据,将两个历史数据代入方程,算出来每年的t。t是统计年鉴里没有的,那么现在好像没有模拟数据,只有历史数据啊?


为了找到历史数据,就应该知道你的模型之t值所表示的物理意义。比如,x表示工业总产值,y表示农业总产值(它们均来自统计年鉴)。现在假设你构建了一个模型系统,其中有一个变量t,它的物理意义为“农民的纯收入”,它与x和y的关系假设是t=0.02x+Log(y)【具体的方程是怎么样的,谁知道呢】。那么现在就可以模拟得到t的值,而年鉴中也可查得到农民的纯收入数据。这样不就可以进行比对了吗?反之,如果你都不知道t所要代表的是什么,那还怎么进行历史数据的比对呢?

所以,关键在于你利用现有数据x和y(通过模型构建)得到的新变量t其物理意义是什么,而这个新变量t其历史可以查询得到。


报纸
nlm0402 发表于 2011-8-21 07:20:52
nkunku 发表于 2011-8-21 07:14
(1)我想,模型的历史检验指的应该是你所说的第二种情形,即“如果是c=0.8gdp那么,可以把历年的GDP代入方 ...
b比如说t是综合发展指数,这个指数在统计年鉴里是没有的
爱智慧;hanxiao528;panjian39 ;夸克之一;np84;yyxf ;007jg ;nkunku;*****xyz;

地板
nkunku 发表于 2011-8-21 07:43:31
nlm0402 发表于 2011-8-21 07:20
b比如说t是综合发展指数,这个指数在统计年鉴里是没有的
那就没有办法进行围绕这个变量的“历史检验”呗。呵呵

7
赵安豆 发表于 2024-7-22 10:25:41
在Vensim中,"历史检验"(Historical Validation)是一种模型验证的方法,用于确认你的模型是否能够重现过去的数据或事件。这通常涉及到将模型的输出与已知的历史数据进行比较。以下是在Vensim中执行历史检验的一般步骤:

1. **收集历史数据**:首先,你需要收集与你建模系统相关的实际历史数据。

2. **设定时间范围**:在模型中设置一个适当的时间范围来模拟这些历史数据。

3. **校准模型参数**:使用历史数据调整你的模型参数,以使模型的输出尽可能接近实际的历史记录。这可能需要多次迭代和尝试不同的参数组合。

4. **运行模拟**:使用你校准后的参数集运行模型,并将结果与历史数据进行比较。

5. **评估拟合度**:检查模型的结果是否与历史数据吻合良好。如果结果与历史数据有较大偏差,你可能需要重新调整参数或审视模型的结构和假设。

6. **迭代改进**:基于历史检验的结果,对模型进行必要的修正,并重复上述过程直到模型能够合理地重现历史数据为止。

在Vensim中具体操作时:

- 使用"Data Table"(数据表)功能来导入或输入你的历史数据。
- 在模拟的“Run Specs”设置中调整起始和结束时间以适应你的时间范围。
- 利用Vensim中的优化工具,如 "Optimizer" 或 "Policy Maker" 来自动寻找最佳参数集。虽然这些工具可能需要额外的学习,它们可以大大简化模型校准的过程。

请注意,历史检验是确保模型有效性的关键步骤,但它不保证模型在未来的预测准确性。因此,在使用模型进行决策时还需要谨慎考虑其他因素和假设。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-6 10:08