我有一组来自实验的5个值,E1,...,E5和来自10000个不同模拟的结果,sim_A_B_C.out。从每个模拟中,我得到S1,...,S5。
我想研究实验值和模拟值之间的相关性。因此,我想对脚本中的每个集合执行线性回归,该脚本对整个10000个结果文件集进行循环。
在bash或python中执行线性回归的最佳方法是什么?我曾经使用sigmaplot来做这件事,但是对于这么大的数据集,它不是很好。
发布于 2009-12-29 19:01:49
我希望您的每个模拟都有一些不同的输入值,例如,第一个模拟的x为1,第二个模拟的输入值为2,然后您有一些函数f(x)来运行模拟并为每个模拟生成5个点。从你的例子中,我认为x实际上是三个值,A,B,C。
在这种情况下,您想要发现的是生成最佳模拟的x的值。
在这种情况下,您确实需要找到f(x)与实验结果之间的相关性,而不是模拟结果本身。
这样做的原因是,在模拟和实验结果之间找到良好的相关性有太多的变量(如果您假设模拟是相互独立的),并且可能会偶然找到匹配。
我认为你还应该获得额外的实验值,以增加你的信心。
我最喜欢的语言是R,它是免费的,可以在most platforms at a download site near you上使用,我推荐"Introduction to Statistics using R"这本书,它给了你很多简单的例子供你尝试,并带你开始统计一些相当高级的东西。
发布于 2009-12-29 18:54:17
在python中,您可以使用SciPy包中的stats.linregress函数。
发布于 2009-12-29 18:54:35
为此,我会避免使用bash,而使用Python --实际上,我会使用Matlab或Mathematica,但这两者都不在您的列表中。因此,安装Numpy,可能还有Scipy,然后继续。
https://stackoverflow.com/questions/1973973
复制相似问题