2015-07-16 4 views
1

я использую следующую функцию для оценки L2Как оценивается дисперсия L2-нормы?

L2norm <- function(ranks, ratings) { 
    x <- data.frame(cbind(ranks, ratings)) 
    colnames(x) <- c('rank', 'rating') 
    y <- x %>% 
    group_by(rank) %>% 
    summarise(
     L2norm = sqrt(sum(rating^2/rank)/sum(1/rank)), 
     N = n() 
    ) 
    mean(y$L2norm) 
} 

Короче говоря, как это дисперсия:

L2norm = SQRT (сумма (рейтинг^2/ранг)/сумма (1/ранг))

рассчитан?

ответ

0

Ну, дисперсия 1/sqrt (n) * (|| x-x_hat || _2)^2, где || * || _2 обозначает евклидову или норму L2. Это поддается формальному определению дисперсии, где var (X) = E [(X-E (X))^2]. Если вы хотите рассчитать дисперсию L2norm, просто используйте встроенную функцию дисперсии R var() в массиве значений L2norm.

На несвязанной ноте сама норма L2 является просто квадратным корнем из суммы квадратов элементов. Есть ли особая причина, почему ваша норма L2 масштабирует каждый элемент по рангу?