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

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

2 страниц V   1 2 >  
Добавить ответ в эту темуОткрыть тему
> Преобразование результатов опросников
comisora
сообщение 26.05.2016 - 21:30
Сообщение #1





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



Всем доброго времени суток.
Существуют два опросника. Результаты одного опросника X1 могут принимать значение от 1 до 100, результаты другого опросника X2 - от 57 до 285. Естественно, баллы относятся к порядковой шкале. Из них нужно сконструировать никому не нужный Y. Про Y известно только то, что при X1=100 и X2=285 должно получаться максимальное значение, например, 153, а при X1=100 и X2=285 должно получаться минимальное значение, например, 62. Я подумал в сторону режима unsupervised из randomUniformForest, но слабо представляю решение данной задачи. Прошу поделиться советом/соображениями/пакетами/примерами.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
passant
сообщение 26.05.2016 - 22:52
Сообщение #2





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



Цитата(comisora @ 26.05.2016 - 21:30) *
Всем доброго времени суток.
Существуют два опросника. Результаты одного опросника X1 могут принимать значение от 1 до 100, результаты другого опросника X2 - от 57 до 285. Естественно, баллы относятся к порядковой шкале. Из них нужно сконструировать никому не нужный Y. Про Y известно только то, что при X1=100 и X2=285 должно получаться максимальное значение, например, 153, а при X1=100 и X2=285 должно получаться минимальное значение, например, 62. Я подумал в сторону режима unsupervised из randomUniformForest, но слабо представляю решение данной задачи. Прошу поделиться советом/соображениями/пакетами/примерами.

Мне одному кажется, что вопрос задан, мягко говоря "небрежно"? А небрежно заданный вопрос может расчитывать только на небрежный ответ. Ну да ладно. Попробуем разобраться.
Цитата(comisora @ 26.05.2016 - 21:30) *
Про Y известно только то, что при X1=100 и X2=285 должно получаться максимальное значение, например, 153, а при X1=100 и X2=285 должно получаться минимальное значение, например, 62.

Это, простите, как? Автор не пробовал сам понять, что сие означает? Как при ОДИНАКОВЫХ значениях параметров Х в первом и втором случаях может получаться РАЗНЫЕ значения Y insane.gif ???
Ну, предположим, автор "небрежно" ошибся и надо читать примерно так
"при X1=100 и X2=285 должно получаться максимальное значение, например, 153, а при X1=1 и X2=57 должно получаться минимальное значение, например, 62. "
Сразу возникает вопрос, слова "например" в этой фразе что-то значат, или так, "прикручены" для красоты? В зависимости от ответа на эту "небрежность" получаем разные варианты ответа.
Если слова "например 153" и "например 62"в данном случае это "слова-паразиты", то автор очевидно хочет, что-бы при X1=1 и X2=57 получалось минимальное возможное значение, а при X1=100 и X2=285 - максимально возможное значение. Что мешает в таком случае применить элементарное отображение Y= X1+X2 ??
Получим 1+57=58 и меньшее значение Y не получиться ни при каких других значениях X1 и X2 и 100+285=385 и большего значения тоже не получить.
Если же автор имел ввиду, что минимальным возможным значением у него должно быть именно число 62, а максимальным - именно число 153 (т.е. те числа, которые фигурируют в фразе после требования минимальности/максимальности), то отображение может быть несколько другим,
НАПРИМЕР: Y = A*X1 + B*X2, где A=-1.65263, B=+1.116713.
Можно обсуждать, а корректно-ли выполнять указанное отображение для признаков, измеренных в ранговых шкалах. Но в таком случае, автор должен был как минимум указать, сколько градаций должен иметь признак Y. И в такой постановке, кстати, задача однозначного решения не имеет.
А вот причем здесь обучение без учителя и случайные деревья - вообще не понятно. О кластеризации можно что-то вразумительное говорить в контексте выборки и распределения ее значений, а не в терминах минимальных-максимальных значений шкал измерений признаков.
Цитата(comisora @ 26.05.2016 - 21:30) *
Прошу поделиться советом/соображениями/пакетами/примерами.

Самый простой и очевидный пример - суммарная оценка выпускников школ по результатам внешнего независимого оценивания. От вашей задача отличается только количеством признаков и тем, что у школьников шкалы признаков (оценки по предметам) имеют одинаковые градации.
И- как обычно. Если хотите более аккуратных и точных советов - попробуйте свой вопрос переформулировать более точно и аккуратно.

Сообщение отредактировал passant - 26.05.2016 - 23:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 27.05.2016 - 02:07
Сообщение #3





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



Цитата(passant @ 26.05.2016 - 22:52) *
"при X1=100 и X2=285 должно получаться максимальное значение, например, 153, а при X1=1 и X2=57 должно получаться минимальное значение, например, 62. "

Прошу прощения, максимальное значение соответствует одновременному X1=100 и X2=285, минимальное - X1=1 и X2=57.
Предположим, людей просили заполнить опросники. Вероятнее всего, они будут отвечать так, что более высокие значения по одному опроснику будут соответствовать более высокому значению по другому опроснику и наоборот. После использования randomForest мы, допустим, получим минимум две группы и можно будет утверждать, что при таких-то X1 и X2 человек относится к такой-то группе, а при других - к другой. Это понятно.
Y, гипотетически, должен отображать тоже самое числом, на основе которого можно сказать "при таком-то Y человек относится к такой-то группе". Как конструировать такой Y неясно. Суммировать баллы смысла не имеет - "измеряется" не одно и тоже.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 27.05.2016 - 09:39
Сообщение #4





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



Подумал на счёт ближайшей задачи. Нужно найти Y, который зависит от длины и массы тела. Этот Y будет характеризовать степень упитанности человека. По сути, нужно создать индекс массы тела т.к. такого понятия нет (в реальности он есть).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
passant
сообщение 27.05.2016 - 16:33
Сообщение #5





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



Простите, но опять несоответствие.
Цитата(comisora @ 27.05.2016 - 02:07) *
что более высокие значения по одному опроснику будут соответствовать более высокому значению по другому опроснику и наоборот.

и тут-же
Цитата
Подумал на счёт ближайшей задачи. Нужно найти Y, который зависит от длины и массы тела. Этот Y будет характеризовать степень упитанности человека.

Ваш пример противоречит высказанному условию. Просто подставьте в него вместо слов "по одному опроснику" слово "длинны тела", а вместо слов "по другому опроснику" - "масса тела". Более того, если бы длинна и масса тела были бы вот так взаимно зависимы, то и понятие "индекса массы тела" и вводить не было бы никакого смысла.
Цитата
Как конструировать такой Y неясно. Суммировать баллы смысла не имеет - "измеряется" не одно и тоже.

Вопрос, кстати, на который не было дано ответа - сколько градаций должна иметь шкала Y. Эта величина известна заранее?
Пример суммирования - лишь пример. Можно использовать и другие сверточные отображения. В частности, приведенный "индекс массы тела" - тоже свертка двух показателей, которые "не одно и то-же".

Сообщение отредактировал passant - 27.05.2016 - 16:38
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 27.05.2016 - 19:19
Сообщение #6





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



2 passant
Нет противоречия. Пока это предположение, что значения у них будут сопряжены. Можно же ожидать, что большая длина тела будет характерна для большей массы?
К сожалению, величина Y не известна заранее. Можно только с уверенностью сказать, что минимальные значения по опросникам будут точно соответствовать одной градации, максимальные - другой, что наводит на мысль о наличии минимум двух градаций. Сколько промежуточных градаций непонятно. Предположим, что всего градаций 5, как в некоторых системах оценки школьных знаний.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
passant
сообщение 27.05.2016 - 23:14
Сообщение #7





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



Я, кажется, начинаю понимать, что Вы имели ввиду. Если я не ошибся, то похоже это то, что в статистике называется "построение интегральных показателей". На эту тему есть куча разной литературы и различных методов. Причина разнообразия - выбор конкретного в сильной степени зависят от конкретных решаемых задач, цели исследования и вида обрабатываемых данных. А вдобавок ко всему требуют еще и оценки валидности.

Для начала можете глянуть, статью http://www.nbuv.gov.ua/old_jrn/natural/Kiv...167/Antomon.pdf
В ней кстати рассматривается задача построения интегрального признака для антропометрических данных.

А вот здесь - особое внимание уделено построению интегральных показателей для случаев, если исходные показатели измерены в порядковых шкалах (похоже - ваш случай)
http://www.raai.org/about/persons/royzenzo...khonov_2009.pdf

Сообщение отредактировал passant - 27.05.2016 - 23:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 28.05.2016 - 00:17
Сообщение #8





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



2 passant
Спасибо, вторая статья особенно в тему, рис. 3 понравился.
Как подозревал, задачка оказалась не такой простой wt.gif
Надо подумать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 28.05.2016 - 11:44
Сообщение #9





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



Цитата(comisora @ 26.05.2016 - 21:30) *
Всем доброго времени суток.
Существуют два опросника. Результаты одного опросника X1 могут принимать значение от 1 до 100, результаты другого опросника X2 - от 57 до 285. Естественно, баллы относятся к порядковой шкале. Из них нужно сконструировать никому не нужный Y. Про Y известно только то, что при X1=100 и X2=285 должно получаться максимальное значение, например, 153, а при X1=100 и X2=285 должно получаться минимальное значение, например, 62. Я подумал в сторону режима unsupervised из randomUniformForest, но слабо представляю решение данной задачи. Прошу поделиться советом/соображениями/пакетами/примерами.


Нельзя вот так вот просто взять и конструировать шкалы в опросниках. (С) Боромир

1) Если есть группа в которой прогнаны оба вопросника, то "объективно существующая шкала" берется обычным PCA (ну или (из)вращениями выделенной "очень простой структуры").

2) Если это оценка некого "внешнего показателя" по отношению к опросникам, то это задача регрессионного анализа.

Вопрос в сколько баллов укладывать результат шкалы вообще смешной smile.gif. Ввести две "искусственных" анкеты с предельными результатами и относительно их вычислить преобразование (которое возможно получиться "одним из" smile.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 29.05.2016 - 13:21
Сообщение #10





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



2 p2004r

1) Не будет ли целесообразней использовать nonlinear/categorical PCA/Multiple Correspondence Analysis?

2) Исходя из беседы с passant, стало ясно, что "внешний показатель" можно попытаться сконструировать, основываясь на результатах опросников. Сам показатель упоминается как благое намерение, которое неясно, как оценивать.

оффтоп. Можете подсказать, как менять размер надписей при использовании функции strength.plot {bnlearn}? Круги получаются жутко большими, а текст в них маленький. Заходил на bnlearn.com, при беглом поиске ничего не нашел.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 29.05.2016 - 18:04
Сообщение #11





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



Цитата(comisora @ 29.05.2016 - 13:21) *
2 p2004r

1) Не будет ли целесообразней использовать nonlinear/categorical PCA/Multiple Correspondence Analysis?

2) Исходя из беседы с passant, стало ясно, что "внешний показатель" можно попытаться сконструировать, основываясь на результатах опросников. Сам показатель упоминается как благое намерение, которое неясно, как оценивать.

оффтоп. Можете подсказать, как менять размер надписей при использовании функции strength.plot {bnlearn}? Круги получаются жутко большими, а текст в них маленький. Заходил на bnlearn.com, при беглом поиске ничего не нашел.


1. Это всё можно решить только работая непосредственно с данными.

2. Все на эту тему я сказал в посте выше. Могу только повторить или мы не знаем что выделяем и тогда PCA и аналоги, или знаем-имеем образец тогда регрессия.

Эта функция принимает обычные параметры вывода графики

...: other graphical parameters


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
passant
сообщение 30.05.2016 - 17:23
Сообщение #12





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



Цитата(p2004r @ 29.05.2016 - 18:04) *
или знаем-имеем образец тогда регрессия.

При условии конечного числа "образцов" и с учетом типа шкал независимых переменных(градаций опросников) - классификация.
Но, насколько я понял, у ТС все-таки не такой случай.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 1.06.2016 - 19:42
Сообщение #13





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



2 all
Спасибо за высказанные мнения
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 30.09.2017 - 13:35
Сообщение #14





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



Всем доброго дня.
Возник вопрос про использование bnlearn для смешанных данных. Есть набор данных, в котором часть переменных относится к порядковой шкале (шкалы опросника) и обычные числа (количество ошибок, скорость выполнения в секундах и тп). Захотелось посмотреть на связность данных. Если оставить все значения в виде обычных чисел, то получается худо-бедно осмысленная картина.
Код
#Запускаем bnlearn
library(bnlearn)
#Загружаем данные
df.one <- read.csv2(file='df.csv',dec=',')
#Делаем их все numeric
for(i in 1:ncol(df.one)) {
    df.one[,i] <- as.numeric(df.one[,i])
}
#Строим картинку numeric
plot(rsmax2(df.one))

Прикрепленное изображение

Если вспомнить, что результаты опросников порядковые данные и учесть это в типе переменных, то картинка становится пустой.
Код
#Преобразуем переменные в факторные
df.two <- df.one
for(i in 1:7) {
    df.two[,i] <- ordered(df.two[,i])
}
#Строим картинку ordered
plot(rsmax2(df.two))

Прикрепленное изображение

Как правильно выполнить построение модели в данном случае?
Прикрепленный файл  df.zip ( 765 байт ) Кол-во скачиваний: 197
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение 30.09.2017 - 17:25
Сообщение #15





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



А что такое rsmax2 в этой истории? Просто помню, что в этом bnlearn'e куча алгоритмов, а дальше ничего не помню...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

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