Цитата(serg26 @ 22.03.2014 - 22:49)

Спасибо за отклик! Подразумеваю сумму модулей коэффициентов корреляции (вес корреляционного графа) в корреляционной матрице. Допустим, есть корреляционная матрица признаков, оцениваем вес корреляционного графа как сумму модулей коэффициентов. А как можно рассчитать 95% ДИ для полученного веса графа?
Не сталкивался с такой задачей, поэтому не понимаю, как правильнее организовать бутстреп. В общем виде представляется так:
(1) Если относиться к признаку в наборе, как случайной величине, то можно перебирать модули к.к. Это можно сделать и в PAST, но только не новом, а старом. Он рассчитывает ДИ в т.ч.
для суммы. Т.е. если в качестве набора дать модули к.к. получим 95%-ный ДИ.
(2) Если относиться к признаку как к фиксированному показателю, то перебирать нужно исходные наблюдения в выборке. Т.е. для каждой бутстреп-реплики считать к.к. и находить сумму их модулей. А уже затем для полученного таким образом распределения набора сумм рассчитать ДИ. Такое можно организовать в R.
PS Почитал, что такое корреляционная адаптометрия. Как правило смотрят динамику или сравнивают по фиксированному числу конкретных физиол. показателей. Т.е. ваш случай - (2).
Вычисление веса корреляционного графа с 95%-ными ДИ в R (на примере ирисов Фишера, способ с библиотекой boot)
># смотрим данные
> str(iris)
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...> iris$Species
[1] setosa setosa setosa ...
...
[148] virginica virginica virginica
Levels: setosa versicolor virginica> nvar<-4 # задаём число признаков
> d1<-iris[iris$Species=="setosa", 1:4] # делаем выборку данных, относящихся только к виду setosa
> cor(d1) # смотрим корреляционную матрицу
_________ Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length 1.0000000 0.7425467 0.2671758 0.2780984
Sepal.Width 0.7425467 1.0000000 0.1777000 0.2327520
Petal.Length 0.2671758 0.1777000 1.0000000 0.3316300
Petal.Width 0.2780984 0.2327520 0.3316300 1.0000000># задаём функцию для вычисления веса корреляционного графа: суммы (sum) модулей (abs) корреляций (cor) за вычетом корреляций признаков самих на себя и без повторов (/2)
> vg<-function(data, indices) {
i=data[indices,] # для обеспечения возможности перебора строк
(sum(abs(cor(i)))-nvar)/2
}
># подключаем предварительно установленную библиотеку boot
>library(boot)
>d1boot<-boot(d1, vg, R=999) #выбираем из данных d1 случайную выборку с возвратом, считаем для неё функцию веса корреляционного графа, делаем так 999 раз
>vg(d1) #считаем вес корреляционного графа
[1] 2.029903# печатаем результаты оценки ДИ (boot.ci) методом процентилей (perc)
>print(boot.ci(d1boot, type="perc"))
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = d1boot, type = "perc")
Intervals :
Level Percentile
95% ( 1.292, 2.918 )
Calculations and Intervals on Original Scale
Таким образом для четырёх признаков Ириса щетинистого (Iris setosa)
G=2,03 (
95% ДИ: 1,29 - 2,92)