Юлия Варианс Q - PullRequest
       5

Юлия Варианс Q

0 голосов
/ 02 июля 2018

Хорошо, я боролся с этим некоторое время.

Я вычисляю скользящую дисперсию. Я использую ручной расчет отклонения, а затем перекрестную проверку с var()

Для отслеживания буду использовать мой расчет дисперсии с поправкой на n-1

Рассчитать среднее значение выборки. ... Вычтите среднее значение из каждой точки данных. ... Квадрат каждый результат. ... Найдите сумму квадратов значений. ... Разделите на n - 1, где n - количество точек данных.

    xi = [1.0,2.0,3.0,4.0,5.0,6.0]
    # initalize arrays
    xi_sum = zeros(xi)
    xi_mean = zeros(xi)
    xi_mean_dev = zeros(xi)
    xi_mean_dev_sq = zeros(xi)
    xi_sum_mean_dev_sq = zeros(xi)
    xi_var_corrected = zeros(xi)
    # loop
    i=1
    for i = 1:size(xi,1)
    xi_sum[i] = sum(xi[1:i])
    xi_mean[i] = xi_sum[i] / i
    xi_mean_dev[i] = xi[i] - xi_mean[i]
    xi_mean_dev_sq[i] = xi_mean_dev[i]^2
    xi_sum_mean_dev_sq[i] = sum(xi_mean_dev_sq[1:i])
    xi_var_corrected[i] = xi_sum_mean_dev_sq[i] / (i-1) # n-1
end

С выводом:

julia> xi_var_corrected
6-element Array{Float64,1}:
 NaN
   0.25
   0.625
   1.16667
   1.875
   2.75

Если проверить с помощью var ()

var_verify = zeros(xi)
    for i = 1:size(xi,1)
        var_verify[i] = var(xi[1:i],corrected=true)
    end

julia> var_verify
6-element Array{Float64,1}:
 NaN
   0.5
   1.0
   1.66667
   2.5
   3.5

Также с:

julia> var(xi)
3.5

Если я подтверждаю в R:

> test = c(1,2,3,4,5,6)
> var(test)
[1] 3.5

Финал 3,5 против моих 2,75.

Мой вопрос - я в растерянности относительно того, почему мой ручной расчет отклонений не дает тот же ответ, что и var (), R var ().

Причина, по которой я разбираю дисперсию, заключается в том, что при вычислении наклона регрессии в stdev существует много перекрестных вычислений, корреляция - поэтому, если я могу разбить это, я могу сократить время обработки +, если я вычислю на каждом [i] вместо этого в диапазонах, как указано выше. Я могу сделать это быстрее. В любом случае, кто-нибудь видит, где я ошибаюсь при расчете дисперсии?

Спасибо

Редактировать

Я вижу это сейчас - для каждого 1: я

Мне нужно окончательное среднее значение для каждого значения i, затем вычтите его из предыдущих значений, чтобы правильно отцентрировать его.

...