Функция оценки PHP - PullRequest
       10

Функция оценки PHP

0 голосов
/ 20 июля 2010

Я пытаюсь вычислить значение $ x в серии чисел на основе массива чисел (в виде чисел $).

Пример:

$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
}

Что будет наиболее статистическиточный метод?

Ответы [ 3 ]

1 голос
/ 20 июля 2010

То, что вы пытаетесь сделать, это большая ветвь математики под названием интерполяция . Утверждение, что один способ является более «статистически точным», чем другой, вероятно, вызовет религиозные войны. Все зависит от того, какие данные вы пытаетесь интерполировать.

Линейная интерполяция будет наиболее простой.

0 голосов
/ 20 июля 2010

Не существует единого «наиболее статистически точного метода».Это зависит от того, что вы оцениваете, а также от ранее наблюдаемых значений.Судя по существующему набору значений, оно кажется экспоненциально убывающим, и, как вы можете видеть, по седьмому и восьмому значениям оно уже достигло точки, где оно уменьшается только на 5 и 4 соответственно.Вы можете ожидать, что это еще больше уменьшится на 3, 2 и 1, после чего оно станет почти постоянным, лишь немного изменившись в десятичных разрядах.

Это было бы справедливым приближением:

...
7  => 400
8  => 396
9  => 393
10 => 391
11 => 390
12 and above => 389.xxx
0 голосов
/ 20 июля 2010

Вам необходимо решить, хотите ли вы разместить прямую линию или полином n-го порядка. Может быть, попробуйте несколько примеров в Excel, чтобы дать вам представление о том, что вам нужно.

...