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

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

2 страниц V   1 2 >  
Добавить ответ в эту темуОткрыть тему
> Корреляция метрической шкалы и номинативной 0_0
kont
сообщение 14.07.2017 - 14:30
Сообщение #1





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



Подскажите пожалуйста, мне нужно изучить взаимосвязь между метрическими показателями и номинативными.
Это эмоциональные реакции на стимулы.
К метрическим переменным относятся:
Вытеснение (П) Регрессия (П) Замещение (П) Отрицание (П) Проекция (П) Компенсация (П) Гиперкомпенсация (П) Рационализация (П)
К номинативным ряд картинок, по каждой картинке нужно сказать чувствовал эмоцию или нет (1-да, 0-нет)
Список эмоций:
Боль
Вина
Возмущение
Грусть
Досада
Жалость
Забота
Злость
Интерес
Испуг
Любовь
Обида
Огорчение
Отвержение
Отвращение
Печаль
Презрение
Равнодушие
Радость
Раздражение
Разочарование
Растерянность
Смущение
Сострадание
Сочувствие
Спокойствие
Страдание
Страх
Стыд
Счастье
Тревога
Удивление
Удовольствие
Ужас

Вопрос. Можно ли коррелировать эти метрические показатели с номинативными (по Спирману) или для изучения взаимосвязей, тут можно только сравнить метрические переменные по каждой номинативной используя t.test?
Прикрепленные файлы
Прикрепленный файл  корр.zip ( 48,19 килобайт ) Кол-во скачиваний: 282
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 14.07.2017 - 16:57
Сообщение #2





Группа: Пользователи
Сообщений: 1202
Регистрация: 13.01.2008
Из: Челябинск
Пользователь №: 4704



Цитата(kont @ 14.07.2017 - 16:30) *
Подскажите пожалуйста, мне нужно изучить взаимосвязь между метрическими показателями и номинативными...

Если попарно, то - точечно-бисериальная корреляция. Но интереснее многомерные ординационные (проекционные) техники.

Сообщение отредактировал nokh - 14.07.2017 - 16:59
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 14.07.2017 - 17:02
Сообщение #3





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



1) Никакой проблемы нет использовать неоднократно мной называемый bnlearn строящий Bayesian networks в том числе и по моделям где встречаются различные шкалы.

2) Сами по себе методы редукции размерности плевать хотели на существование к.к. и связанной с ними теории, поскольку основаны на простых _геометрических_ построениях. В данном случае набор данных просто представляет из себя гиперкуб и "за один присест" его сможет переварить какой либо вариант https://en.wikipedia.org/wiki/Multilinear_p...ponent_analysis

Тензор (гиперкуб) "люди-чувства-картинки" + плоская таблица "люди-психхарактеристики". Тензор после hosvd() даст набор таблиц с "компонентами" для "людей", "чувств", "картинок".

Можно "компоненты людей" выведенные от их итеракции с "чувствами-картинками" просто проверить на связь с "психохарактеристиками".

Сообщение отредактировал p2004r - 14.07.2017 - 18:24
Прикрепленные файлы
Прикрепленный файл  out.pdf ( 28,1 килобайт ) Кол-во скачиваний: 275
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
kont
сообщение 15.07.2017 - 13:22
Сообщение #4





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



nokh, p2004r спасибо. Я пока про R не говорю.
Кажется нарыл
http://ru-spss.livejournal.com/4509.html

Сообщение отредактировал kont - 15.07.2017 - 13:25
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
kont
сообщение 15.07.2017 - 13:23
Сообщение #5





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



Но тем не менее, p2004r, может код дать, где вы построили этот граф?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 15.07.2017 - 14:32
Сообщение #6





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



Цитата(kont @ 15.07.2017 - 13:23) *
Но тем не менее, p2004r, может код дать, где вы построили этот граф?


1. Да, конечно. (там что то с самими данными странноватое, очень уж они "разрежены"... может "картинок" в полном датасете больше? )

Тут одна строчка (мне не хватило терпения до конца датасета дойти исключая переменные на которых алгоритм "виснет")

Код
library(bnlearn)

df.korr <- read.csv2("корр.csv")

df.korr.tr <- cbind(data.frame(lapply(df.korr[,1:8], as.numeric)),
                    data.frame(lapply(df.korr[,-c(1:8)], factor)))

graphviz.plot(hc(df.korr.tr[,c(1:11,
                               14:22,
                               24,
                               26:36,
                               38:52,
                               54:63,
                               65,
                               67:74,
                               76:80)],
                 optimized = F),
              layout="fdp")


2. Для многомерного svd вот неплохая "объяснялка"

http://www.alexejgossmann.com/tensor_decomposition_CP/

Сообщение отредактировал p2004r - 15.07.2017 - 14:35
Эскизы прикрепленных изображений
Прикрепленное изображение
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
kont
сообщение 15.07.2017 - 21:09
Сообщение #7





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




p2004r, подскажите, в аргументе Тенсора, что должно стоять

mpca(tnsr, ranks = NULL, max_iter = 25, tol = 1e-05)

Tensor with K modes. что мне сюда подставить?
Как правильно то?

И второй момент статистический. В обычном факторном анализе, для выбора факторов, я смотрю на график каменной осыпи. А в mpca на что смотреть?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.07.2017 - 10:58
Сообщение #8





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



Цитата(kont @ 15.07.2017 - 21:09) *
p2004r, подскажите, в аргументе Тенсора, что должно стоять

mpca(tnsr, ranks = NULL, max_iter = 25, tol = 1e-05)

Tensor with K modes. что мне сюда подставить?
Как правильно то?

И второй момент статистический. В обычном факторном анализе, для выбора факторов, я смотрю на график каменной осыпи. А в mpca на что смотреть?


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

В статье по ссылке есть пример подготовки искусственного примера. И пример анализа каноническим разложением cp().

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

2) Там точно также можно получить "долю объясняемой ковариации" (см. ссылку на пример) только надо судя по всему "ручками" пройти все варианты "усечения" размерности объясняемого тензора.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
kont
сообщение 16.07.2017 - 18:22
Сообщение #9





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



Я так и делал

library rTensor
library("openxlsx")
dat=read.csv2("корр.csv")
View(dat)
mpca(dat, ranks=c(10,10), max_iter = 25, tol = 1e-05)

и получил ошибку:-(

Error: is(tnsr, "Tensor") is not TRUE
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение 16.07.2017 - 22:40
Сообщение #10





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



Цитата(kont @ 16.07.2017 - 18:22) *
Я так и делал

library rTensor
library("openxlsx")
dat=read.csv2("корр.csv")
View(dat)
mpca(dat, ranks=c(10,10), max_iter = 25, tol = 1e-05)

и получил ошибку:-(

Error: is(tnsr, "Tensor") is not TRUE


Ну, этому датасету надо ж задать как минимум три измерения.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 17.07.2017 - 10:04
Сообщение #11





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



Цитата(kont @ 16.07.2017 - 18:22) *
Я так и делал

library rTensor
library("openxlsx")
dat=read.csv2("корр.csv")
View(dat)
mpca(dat, ranks=c(10,10), max_iter = 25, tol = 1e-05)

и получил ошибку:-(

Error: is(tnsr, "Tensor") is not TRUE


Такое впечатление что вы не читаете того что вам говорят sad.gif

Вот пример подготовки данных "с NAнуля" по ссылке http://www.alexejgossmann.com/tensor_decomposition_CP/ которую вы упорно игнорируете

Код
space_index <- seq(-1, 1, l = 100)
bell_curve  <- dnorm(space_index, mean = 0, sd = 0.5)
case1 <- matrix(rep(bell_curve, 10), 100, 100)
case2 <- matrix(rep(bell_curve, 10), 100, 100)
case3 <- matrix(rep(bell_curve, 10), 100, 100)
case2[ , 51:100] <- case2[ , 51:100] + 0.1
case3[ , 51:100] <- case3[ , 51:100] - 0.1

X <- array(NA, dim = c(90, 100, 100))
for(i in 1:30) {
  X[i, , ]    <- case1 + matrix(rnorm(10000, sd = 0.1), 100, 100)
  X[i+30, , ] <- case2 + matrix(rnorm(10000, sd = 0.1), 100, 100)
  X[i+60, , ] <- case3 + matrix(rnorm(10000, sd = 0.1), 100, 100)
}


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
kont
сообщение 17.07.2017 - 19:18
Сообщение #12





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



Спасибо, кажется понял
dat <- as.matrix(dat)
dat <- as.tensor(dat)
class(dat)
[1] "Tensor"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 17.07.2017 - 20:08
Сообщение #13





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



Цитата(kont @ 17.07.2017 - 19:18) *
Спасибо, кажется понял
dat <- as.matrix(dat)
dat <- as.tensor(dat)
class(dat)
[1] "Tensor"



Это вряд ли (С) т. Сухов

Сначала мана мана array() надо заполнить, что бы получился гиперкуб на каждой грани которого отдельно "люди", "шкалы", "картинки" ... и вот потом уже вышеприведенное.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
kont
сообщение 17.07.2017 - 20:27
Сообщение #14





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



Так точно:)
а с аргументом ранг, можете помочь разобраться?
Error: length(ranks) == (num_modes - 1) is not TRUE
тенсор то отработал, а вот ранг нет
Какова его суть, что я его вбил верно
пока у меня так
ranks=c(10,10)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 17.07.2017 - 22:39
Сообщение #15





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



Цитата(kont @ 17.07.2017 - 20:27) *
Так точно:)
а с аргументом ранг, можете помочь разобраться?
Error: length(ranks) == (num_modes - 1) is not TRUE
тенсор то отработал, а вот ранг нет
Какова его суть, что я его вбил верно
пока у меня так
ranks=c(10,10)


Ну вот когда сделаете array, тогда и нальем воду в бассейн продолжим дальше.


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

2 страниц V   1 2 >
Добавить ответ в эту темуОткрыть тему