Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

> Корреляция, определение значимости коэффициента
SurgeonAnastasia
сообщение 27.02.2017 - 01:42
Сообщение #1





Группа: Пользователи
Сообщений: 14
Регистрация: 27.02.2017
Пользователь №: 29398



Здравствуйте
Проведено исследование, связанное с изучением стоматологических и психологических параметров, по 4 параметра в каждом разделе. Психологические параметры выражались в дихотомической шкале и ранговой. Стоматологические - в ранговой. Необходимо было провести корреляционный анализ.
Анализ был проведён с использованием расчета коэффициентов Спирмена, биссериального коэффициентов. Коэффициенты получены как положительные, так и отрицательные. Затем проведено определение значимости этих коэффициентов. Также получены различные значения, как и значимые значения, так и значения, соответствующие гипотезе о нулевом коэффициенте.
Все считала в Excel.
В итоге, много вопросов:
1. Правильный ли у меня алгоритм действий?
2. Если да, то что интерпретировать: сам коэффициент или его значимость?
3. Правильно ли использовать Excel или другая программа лучше для этих целей.
Заранее прошу прощения за возможную некомпетентность.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
DrgLena
сообщение 8.03.2017 - 23:34
Сообщение #2





Группа: Пользователи
Сообщений: 1325
Регистрация: 27.11.2007
Пользователь №: 4573



Цитата(SurgeonAnastasia @ 8.03.2017 - 01:28) *
Попробовала посчитать регрессию-при анализе R кв выявилось, что при слабой корреляции данный показатель показывет, что влияние одного признака на другой весьма существенно...что в итоге интерпретировать...

А какую регрессию вы считаете и, что у вас при этом зависимая переменная, и что предикторы?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
SurgeonAnastasia
сообщение 9.03.2017 - 11:12
Сообщение #3





Группа: Пользователи
Сообщений: 14
Регистрация: 27.02.2017
Пользователь №: 29398



Цитата(DrgLena @ 8.03.2017 - 23:34) *
А какую регрессию вы считаете и, что у вас при этом зависимая переменная, и что предикторы?

Линейную регрессию, предикторы-психологические показатели, ш эу эн лк, переменная- стоматологические иг уд мт кт
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 9.03.2017 - 12:02
Сообщение #4





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(SurgeonAnastasia @ 9.03.2017 - 11:12) *
Линейную регрессию, предикторы-психологические показатели, ш эу эн лк, переменная- стоматологические иг уд мт кт


Сама по себе регрессия не способна сказать что связь имеет место быть, поскольку способна _бесконечно_ переобучаться. В этом очень легко убедиться просто добавляя случайно сгенеренные переменные в модель, модель их с удовольствием примет и снизит ошибку подгонки модели к таким расширенным данным.

Для того что бы отвергнуть переменную из модели нужен критерий оптимальности модели в целом, это могут быть информационные критерии (AIC и т.п.). Может также использована специальная процедура рандомизации-бутстрепа с включением специально сконструированных предикторов-маркеров (library{Boruta} и другие алгоритмы "отбора значимых предикторов").

В принципе можно, раз именно регрессионным анализом хочется отбирать "значимые" связи, попробовать Boruta. Вечером сделаю для каждой из 8 переменных селекцию остальных показателй по значимости для модели случайного леса предсказывающей выбранную. Но это уже дает возможность проявления "эффекта короткого одеяла", поскольку мы будем подгонять 8 моделей, а не одну общую. (наверное если все данные упростить до набора бинарных "думми" предикторов, то можно будет сделать pls между наборами, но интерпретировать потом получившийся "винегрет" будет очень не просто).


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
SurgeonAnastasia
сообщение 9.03.2017 - 14:34
Сообщение #5





Группа: Пользователи
Сообщений: 14
Регистрация: 27.02.2017
Пользователь №: 29398



Цитата(p2004r @ 9.03.2017 - 12:02) *
Сама по себе регрессия не способна сказать что связь имеет место быть, поскольку способна _бесконечно_ переобучаться. В этом очень легко убедиться просто добавляя случайно сгенеренные переменные в модель, модель их с удовольствием примет и снизит ошибку подгонки модели к таким расширенным данным.

Для того что бы отвергнуть переменную из модели нужен критерий оптимальности модели в целом, это могут быть информационные критерии (AIC и т.п.). Может также использована специальная процедура рандомизации-бутстрепа с включением специально сконструированных предикторов-маркеров (library{Boruta} и другие алгоритмы "отбора значимых предикторов").

В принципе можно, раз именно регрессионным анализом хочется отбирать "значимые" связи, попробовать Boruta. Вечером сделаю для каждой из 8 переменных селекцию остальных показателй по значимости для модели случайного леса предсказывающей выбранную. Но это уже дает возможность проявления "эффекта короткого одеяла", поскольку мы будем подгонять 8 моделей, а не одну общую. (наверное если все данные упростить до набора бинарных "думми" предикторов, то можно будет сделать pls между наборами, но интерпретировать потом получившийся "винегрет" будет очень не просто).

Уважаемый p2004r Вы проделали очень большую работу, спасибо Вам большое, разбираюсь пока в этом. Я так понимаю, мои подсчеты вообще неактуальны.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 9.03.2017 - 18:39
Сообщение #6





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(SurgeonAnastasia @ 9.03.2017 - 14:34) *
Уважаемый p2004r Вы проделали очень большую работу, спасибо Вам большое, разбираюсь пока в этом. Я так понимаю, мои подсчеты вообще неактуальны.


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

p=0.01

Код
> Boruta(к.т~., data=data, maxRuns = 2600)
Boruta performed 2453 iterations in 51.44179 secs.
No attributes deemed important.
7 attributes confirmed unimportant: иг, лк, м.т, уд, ш and 2 more.

> Boruta(м.т~., data=data, maxRuns = mega_shok.gif0)
Boruta performed 23 iterations in 0.4761589 secs.
1 attributes confirmed important: уд.
6 attributes confirmed unimportant: иг, к.т, лк, ш, э.н and 1 more.

> Boruta(уд~., data=data, maxRuns = 1800)
Boruta performed 70 iterations in 1.545961 secs.
1 attributes confirmed important: м.т.
6 attributes confirmed unimportant: иг, к.т, лк, ш, э.н and 1 more.

> Boruta(иг~., data=data, maxRuns = 1800)
Boruta performed 82 iterations in 2.246107 secs.
No attributes deemed important.
7 attributes confirmed unimportant: к.т, лк, м.т, уд, ш and 2 more.

> Boruta(э.н~., data=data, maxRuns = 1800)
Boruta performed 14 iterations in 0.370903 secs.
No attributes deemed important.
7 attributes confirmed unimportant: иг, к.т, лк, м.т, уд and 2 more.

> Boruta(э.у~., data=data, maxRuns = 1800)
Boruta performed 75 iterations in 1.928164 secs.
1 attributes confirmed important: лк.
6 attributes confirmed unimportant: иг, к.т, м.т, уд, ш and 1 more.

> Boruta(ш~., data=data, maxRuns = 1800)
Boruta performed 26 iterations in 0.591598 secs.
No attributes deemed important.
7 attributes confirmed unimportant: иг, к.т, лк, м.т, уд and 2 more

> Boruta(лк~., data=data, maxRuns = 1800)
Boruta performed 470 iterations in 11.84426 secs.
2 attributes confirmed important: к.т, э.у.
5 attributes confirmed unimportant: иг, м.т, уд, ш, э.н.


Код
> Boruta(к.т~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 1314 iterations in 26.98678 secs.
No attributes deemed important.
7 attributes confirmed unimportant: иг, лк, м.т, уд, ш and 2 more.

> Boruta(м.т~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 53 iterations in 1.084951 secs.
1 attributes confirmed important: уд.
6 attributes confirmed unimportant: иг, к.т, лк, ш, э.н and 1 more.

> Boruta(уд~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 41 iterations in 0.8648179 secs.
1 attributes confirmed important: м.т.
6 attributes confirmed unimportant: иг, к.т, лк, ш, э.н and 1 more.

> Boruta(иг~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 851 iterations in 23.46029 secs.
No attributes deemed important.
7 attributes confirmed unimportant: к.т, лк, м.т, уд, ш and 2 more.

> Boruta(э.н~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 53 iterations in 1.339764 secs.
No attributes deemed important.
7 attributes confirmed unimportant: иг, к.т, лк, м.т, уд and 2 more.

> Boruta(э.у~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 51 iterations in 1.270474 secs.
1 attributes confirmed important: лк.
6 attributes confirmed unimportant: иг, к.т, м.т, уд, ш and 1 more.

> Boruta(ш~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 11 iterations in 0.3183038 secs.
No attributes deemed important.
7 attributes confirmed unimportant: иг, к.т, лк, м.т, уд and 2 more.

> Boruta(лк~., data=data, maxRuns = 6000, pValue = 0.05)
Boruta performed 241 iterations in 5.959469 secs.
2 attributes confirmed important: к.т, э.у.
5 attributes confirmed unimportant: иг, м.т, уд, ш, э.н.


Как видно имеется одна связь между наборами которую выборка способна подтвердить -- "лк--к.т" . Зная состояние э.у и к.т можно более состоятельно предсказывать лк.

Код
> ranger(лк~., data=data, num.trees = 15500)
Ranger result

Call:
ranger(лк ~ ., data = data, num.trees = 15500)

Type:                             Classification
Number of trees:                  15500
Sample size:                      46
Number of independent variables:  7
Mtry:                             2
Target node size:                 1
Variable importance mode:         none
OOB prediction error:             43.48 %
> ranger(лк~., data=data[c("лк", "э.у", "к.т")], num.trees = 15500)
Ranger result

Call:
ranger(лк ~ ., data = data[c("лк", "э.у", "к.т")], num.trees = 15500)

Type:                             Classification
Number of trees:                  15500
Sample size:                      46
Number of independent variables:  2
Mtry:                             1
Target node size:                 1
Variable importance mode:         none
OOB prediction error:             26.09 %


Код
> randomForest(лк~., data=data[c("лк", "э.у", "к.т")], ntree = 15500)

Call:
randomForest(formula = лк ~ ., data = data[c("лк", "э.у",      "к.т")], ntree = 15500)
               Type of random forest: classification
                     Number of trees: 15500
No. of variables tried at each split: 1

        OOB estimate of  error rate: 26.09%
Confusion matrix:
   0  1 class.error
0 23  5   0.1785714
1  7 11   0.3888889
> randomForest(лк~., data=data, ntree = 15500)

Call:
randomForest(formula = лк ~ ., data = data, ntree = 15500)
               Type of random forest: classification
                     Number of trees: 15500
No. of variables tried at each split: 2

        OOB estimate of  error rate: 43.48%
Confusion matrix:
   0 1 class.error
0 19 9   0.3214286
1 11 7   0.6111111
>


По отдельности они хуже

Код
> randomForest(лк~., data=data[c("лк", "э.у")], ntree = 15500)

Call:
randomForest(formula = лк ~ ., data = data[c("лк", "э.у")],      ntree = 15500)
               Type of random forest: classification
                     Number of trees: 15500
No. of variables tried at each split: 1

        OOB estimate of  error rate: 30.43%
Confusion matrix:
   0  1 class.error
0 21  7   0.2500000
1  7 11   0.3888889
> randomForest(лк~., data=data[c("лк",  "к.т")], ntree = 15500)

Call:
randomForest(formula = лк ~ ., data = data[c("лк", "к.т")],      ntree = 15500)
               Type of random forest: classification
                     Number of trees: 15500
No. of variables tried at each split: 1

        OOB estimate of  error rate: 34.78%
Confusion matrix:
   0 1 class.error
0 28 0   0.0000000
1 16 2   0.8888889


Как видим ошибка предсказания резко сокращается на отобранных Boruta значимых предикторах.

PS 6-7% дает точности дополнительной к.т

Сообщение отредактировал p2004r - 9.03.2017 - 18:44


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- SurgeonAnastasia   Корреляция, определение значимости коэффициента   27.02.2017 - 01:42
- - nokh   Цитата(SurgeonAnastasia @ 27.02.2017 - 0...   27.02.2017 - 23:38
- - SurgeonAnastasia   Nokh, спасибо за развёрнутый ответ! Я скачаю S...   28.02.2017 - 09:45
- - SurgeonAnastasia   Прошу прощения, последнее смотрела не по Стьюденту...   28.02.2017 - 09:49
- - nokh   Вы собираетесь скачать нелицензированную программу...   1.03.2017 - 09:09
- - SurgeonAnastasia   Спасибо большое за помощь!   1.03.2017 - 19:37
- - leo_biostat   Цитата(SurgeonAnastasia @ 27.02.2017 - 0...   2.03.2017 - 20:09
|- - nokh   Цитата(leo_biostat @ 2.03.2017 - 22...   2.03.2017 - 21:35
|- - p2004r   Цитата(nokh @ 2.03.2017 - 21:35) Вы ...   3.03.2017 - 11:42
|- - leo_biostat   Цитата(nokh @ 2.03.2017 - 21:35) Вы ...   3.03.2017 - 16:43
|- - 100$   Цитата(leo_biostat @ 3.03.2017 - 16...   3.03.2017 - 23:30
||- - leo_biostat   Цитата(100$ @ 4.03.2017 - 00:30...   4.03.2017 - 14:08
|- - nokh   Цитата(leo_biostat @ 3.03.2017 - 18...   12.03.2017 - 06:09
- - SurgeonAnastasia   Да, у меня были мысли относительно логистической р...   2.03.2017 - 22:40
- - DoctorStat   У меня такое ощущение, что парные корреляции могут...   4.03.2017 - 13:38
- - SurgeonAnastasia   Я согласна с тем, что, наверное, необходимо более ...   4.03.2017 - 17:17
|- - p2004r   Цитата(SurgeonAnastasia @ 4.03.2017 - 17...   6.03.2017 - 12:46
||- - SurgeonAnastasia   Цитата(p2004r @ 6.03.2017 - 12:46) Н...   7.03.2017 - 10:27
||- - p2004r   Цитата(SurgeonAnastasia @ 7.03.2017 - 10...   7.03.2017 - 13:06
|- - leo_biostat   Цитата(SurgeonAnastasia @ 4.03.2017 - 17...   6.03.2017 - 17:53
|- - leo_biostat   Цитата(SurgeonAnastasia @ 4.03.2017 - 17...   12.03.2017 - 19:09
|- - 100$   Цитата(leo_biostat @ 12.03.2017 - 19...   12.03.2017 - 20:28
- - passant   Ой, как запугали запутали человека Еще немног...   4.03.2017 - 18:07
- - SurgeonAnastasia   Уважаемый passant, спасибо, Вы меня успокоили и ве...   5.03.2017 - 14:19
- - SurgeonAnastasia   Попробовала посчитать регрессию-при анализе R кв в...   8.03.2017 - 01:28
|- - p2004r   Цитата(SurgeonAnastasia @ 8.03.2017 - 01...   8.03.2017 - 11:25
- - SurgeonAnastasia   Да!   8.03.2017 - 12:03
|- - p2004r   Цитата(SurgeonAnastasia @ 8.03.2017 - 12...   8.03.2017 - 12:45
|- - p2004r   1. Поиск оптимальной структуры сети связей объясня...   8.03.2017 - 14:00
|- - p2004r   Если рассматривать "нужный вариант" (кот...   8.03.2017 - 14:23
- - SurgeonAnastasia   Вспасибо за столь обширно проделанную работу. Я по...   8.03.2017 - 14:16
|- - p2004r   Цитата(SurgeonAnastasia @ 8.03.2017 - 14...   8.03.2017 - 14:30
- - DrgLena   Цитата(SurgeonAnastasia @ 8.03.2017 - 01...   8.03.2017 - 23:34
|- - SurgeonAnastasia   Цитата(DrgLena @ 8.03.2017 - 23:34) ...   9.03.2017 - 11:12
|- - p2004r   Цитата(SurgeonAnastasia @ 9.03.2017 - 11...   9.03.2017 - 12:02
|- - SurgeonAnastasia   Цитата(p2004r @ 9.03.2017 - 12:02) С...   9.03.2017 - 14:34
|- - p2004r   Цитата(SurgeonAnastasia @ 9.03.2017 - 14...   9.03.2017 - 18:39
- - DrgLena   Виды мотивации и локус контроль не влияют на состо...   9.03.2017 - 13:18
- - SurgeonAnastasia   Ну почему же не влияют? Работая каждый день с паци...   9.03.2017 - 14:31
- - Олег Кравец   [Moderator on] PLS, постарайтесь не уходить к личн...   12.03.2017 - 21:30
- - 100$   Цитата(Олег Кравец @ 12.03.2017 - 21...   12.03.2017 - 23:21


Добавить ответ в эту темуОткрыть тему