netlogo中的灵敏度分析(多次模拟的平均值)

netlogo中的灵敏度分析(多次模拟的平均值),netlogo,Netlogo,我有几个指标,比如变量的均值和标准差 500次滴答声后,模型停止 我想模拟这个模型,例如,100次,并绘制指数的平均值和CI 在netlogo中,有没有办法代替python或R来执行此操作?是的,您可以使用BehaviorSpace运行模型100次,将结果保存到文件系统文件中,然后让另一个netlogo程序(或过程)读入数据并进行打印。下面是一个示例编写部分,它计算一系列数字的平均值和标准偏差,并在十个滴答声停止后计算 globals [ delist demean destd fname ]

我有几个指标,比如变量的均值和标准差

500次滴答声后,模型停止

我想模拟这个模型,例如,100次,并绘制指数的平均值和CI


在netlogo中,有没有办法代替python或R来执行此操作?

是的,您可以使用BehaviorSpace运行模型100次,将结果保存到文件系统文件中,然后让另一个netlogo程序(或过程)读入数据并进行打印。下面是一个示例编写部分,它计算一系列数字的平均值和标准偏差,并在十个滴答声停止后计算

globals [ delist demean destd fname ]

to setup
  clear-all
  set fname "myfile.txt"
  set delist []
  reset-ticks
end

to go
  if ( ticks >= 10 ) [
    ;; show delist
    set demean mean delist;
    set destd standard-deviation delist;
    export-data
    ;;print (word "mean = " demean " stdev= " destd )
    stop
  ]
  set delist lput random 100 delist
  tick
end

to export-data
  if not (file-exists? fname ) [
    file-open fname
    file-print ( word "mean stdev" );
    file-flush
    file-close
  ]
  
  file-open fname
  file-print ( word  demean " " destd  )
  file-flush
  file-close
end

to clear-file
 if  (file-exists? fname ) [
    file-delete fname
  ]
end

下面是在中读取上述myfile.txt并打印的示例代码。 假设一个plot小部件报告demean和destd

globals [ delist demean destd fname ]

to setup
  clear-all
  set fname "myfile.txt"
  print " This file begins as follows:"
  set delist []
    ifelse   (file-exists? fname ) [
      file-open fname
      if  not file-at-end? 
       [ let str file-read-line 
         print str
      ]
    ]
  [  print " expected file doesn't exits " ]

  reset-ticks
end

to go
  if file-at-end? [ print "Data has been all read."  file-close stop]
  set demean file-read 
  set destd file-read  
  print (word "mean = " demean " ,  std-dev = " destd )
  tick
end


谢谢报告最后的数字对我帮助很大。但我想画的是这样的情节。(Song,H.,和Boomgaarden,H.G.(2017)。动态螺旋测试:一个基于代理的模型,加强选择性暴露、人际网络和态度极化之间的螺旋。通讯杂志,67(2),256-281。)而不是使用NetLogo本身绘制行为空间实验结果的曲线图,我建议使用另一种工具,任何可以读取CSV文件的绘图工具,例如Excel。实际上,他们有一个更复杂的问题——正如他们链接到的图所显示的那样——他们想得到每个刻度的变量输出,然后在行为空间计算出每个刻度的平均值和置信区间,并用奇特的图绘制出来。显然,如果经常做这类事情,学习R的聚合和奇特的出版质量的情节是值得的。不管怎样,我在netlogo google组中用代码回答,或者即将回答,所以我称之为关闭。