PHP估计函数
我正在尝试根据数字数组计算数值$ x的值(如$数字)。PHP估计函数
例:
$numbers = array(1=>1000,2=>600,3=>500,4=>450,5=>425,6=>405,7=>400,8=>396);
function estimateNumber($x) {
// function to estimate number $x in $numbers data set
}
什么是最精确的统计方法是什么?
你试图做的是数学的一大分支interpolation。声称一种方式比另一种方式更“统计准确”可能引发宗教战争。这完全取决于您尝试插入的数据类型。
Linear interpolation将是最直接的。
我不认为php可以处理这种深度数学计算。在这个好日子里,科学家使用fortran来实现这一点,现在有Mathematica或Matlab。 – marvin 2010-07-20 06:36:34
它在PHP中确实很有可能,因为它在大多数语言中都是如此。尽管像Matlab或R这样的语言和工具是专门为此类活动设计的语言结构,但更普遍的语言(如C或Java或PHP)同样能够执行数学。为了eaxmple,PHPExcel在纯PHP中使用了作为包的一部分的内置特性,以复制Excel的特性。 – 2010-07-20 07:58:12
您需要决定是否拟合直线或n阶多项式。也许在Excel中尝试一些例子,让你知道你需要什么。
没有一个“统计学上最准确的方法”。这取决于你所估计的以及之前观察到的值。按照你现有的一组值,它似乎呈指数级下降,正如你所看到的,按照第7和第8的值,它已经达到了只分别减少5和4的点。你可以预期这会进一步减少3,2和1,此后它会变得几乎不变,只是在小数位上稍微变化一点。
这将是一个合理的近似:
...
7 => 400
8 => 396
9 => 393
10 => 391
11 => 390
12 and above => 389.xxx
通过“估计”你是预测一个系列的下多少?除非你可以对你的函数传递什么样的系列,否则没有什么可以做的。下一个数字可能是50000,也可能是393,这两个预测都可能是合理的。 – 2010-07-20 05:01:05
下一个数字不能高于或等于先前的数字。 该算法的应用是帮助估算我游戏网站上的电子邮件列表的退订率,并预测未来订阅率(以及因此的百分比)。第一个到第二个数字是最大的差异,并且在第三或第四天之后退订率相当大地下降。我在统计中做得不好,所以我在这里无能为力:) – reefine 2010-07-20 05:12:04