почему скалярное произведение нормализованного вектора всегда имеет размер данных -1 - PullRequest
0 голосов
/ 20 ноября 2018

Я не понимаю, почему скалярное произведение нормализованного вектора всегда имеет размер данных -1.

a <- scale(rnorm(100))
crossprod(a)
# equal = 100 - 1 = 99

b <- scale(runif(50))
crossprod(b)
# equal = 50 - 1 = 49

c <- scale(rchisq(30, 5))
crossprod(c)
# equal = 30 - 1 = 29

Я хочу знать математическое понимание.

1 Ответ

0 голосов
/ 20 ноября 2018

Не в LaTex, но доказательства могут помочь вам понять:

Ваши значения масштабируются, поэтому: [x_i-mean (X)] / sd (X).

Crossprod делает сумму квадратов x_i = Sum_i ([x_i-mean (X)]) ^ 2

Дисперсия (в квадрате sd): var (X) = sd ^ 2 (X) = 1 / (n-1) * Sum_i ([x_i-mean (X)]) ^ 2

Crossprod = Sum_i ([x_i-mean (X)] / sd (X)) ^ 2) = 1 / sd (X) ^ 2 * Sum_i ([x_i-mean (X)] ^ 2) = 1 / (1 / (n-1)) = n-1

...