2008-09-19 41 views
4
  • 我想从具有许多变量的过程中获得最大性能,其中许多变量不能被控制。
  • 我不能运行上千次实验,所以它会是很好,如果我可以运行数百次实验和
    • 改变许多可控参数
    • 收集显示性能
    • 许多参数数据“正确”尽可能多地,这些参数我无法控制
    • 梳理出“最好的”值的那些东西,我可以控制,并从头再来

感觉这就是所谓的数据挖掘,你正在浏览大量的数据,这些数据似乎并不直接相关,但是经过一番努力却显示出相关性。如何从非实验数据(数据挖掘?)获得科学结果

那么......我从哪里开始研究算法,概念,这类事情的理论?即使是用于搜索的相关术语也是有用的。

背景:我喜欢做超级马拉松骑自行车,并保持每次骑行的日志。我想保留更多的数据,并且在成百上千的游乐设施能够提取关于我如何执行的信息之后。但是,一切都会变化 - 路线,环境(温度,压力,嗡嗡声,太阳负荷,风,降水量等),燃料,姿态,体重,水负荷等等等等。我可以控制一些事情,但运行相同的路线20次,以测试一个新的燃料体制只会令人沮丧,并需要数年时间来执行我想要做的所有实验。但是,我可以记录所有这些事情(更多)(自行车FTW遥测)。

回答

2

这听起来像你想要做一些regression analysis。你当然有足够的数据!


回归分析是一种非常常见的统计和科学建模技术。 (可以认为统计学是回归分析的艺术和科学。)有许多统计软件包用于执行您需要的计算。 (我推荐一个,但我已经过时了几年。)

数据挖掘得到了一个坏名字,因为人们往往认为相关性等于因果关系。我发现一个好的方法是从你知道有影响的变量开始,并首先在它们周围建立一个统计模型。所以你知道,风速,重量和爬升能影响你的旅行速度,统计软件可以把你的数据集和计算出这些因素之间的相关性。这会给你一个统计模型或线性方程:

speed = x*weight + y*wind + z*climb + constant 

当你探索新的变量,你将能够看到如果模型是通过比较喜欢R平方拟合度优度提高与否。所以你可以检查温度或时间是否增加了模型的任何东西。

您可能想要对您的数据应用转换。例如,你可能会发现你在寒冷的日子里表现更好。但真正寒冷的日子和真正炎热的日子可能会损害业绩。在这种情况下,您可以将温度分配给垃圾箱或segments:< 0°C; 0°C至40°C; > 40°C,或其他一些。关键在于以一种与现实世界中发生的理性模型相匹配的方式来转换数据,而不仅仅是数据本身。


如果有人认为这不是编程相关的主题,请注意,您可以使用这些相同的技术来分析系统性能。

1

我在过去曾使用过Perl模块Statistics::Regression来解决相似的问题。但是,请注意,回归分析绝对是一门艺术。正如Perl模块中的警告所说,如果你没有学会适当的数学方法,那么你就没有任何意义。

2

有了这么多的变量,你有太多的尺寸,你可能想看看Principal Component Analysis。它需要回归分析中的一些“艺术”,并让数​​据为自己说话。链接底部会显示一些进行这种分析的软件。