Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Преобразование результатов опросников
Форум врачей-аспирантов > Разделы форума > Медицинская статистика
comisora
Всем доброго времени суток.
Существуют два опросника. Результаты одного опросника X1 могут принимать значение от 1 до 100, результаты другого опросника X2 - от 57 до 285. Естественно, баллы относятся к порядковой шкале. Из них нужно сконструировать никому не нужный Y. Про Y известно только то, что при X1=100 и X2=285 должно получаться максимальное значение, например, 153, а при X1=100 и X2=285 должно получаться минимальное значение, например, 62. Я подумал в сторону режима unsupervised из randomUniformForest, но слабо представляю решение данной задачи. Прошу поделиться советом/соображениями/пакетами/примерами.
passant
Цитата(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) *
Прошу поделиться советом/соображениями/пакетами/примерами.

Самый простой и очевидный пример - суммарная оценка выпускников школ по результатам внешнего независимого оценивания. От вашей задача отличается только количеством признаков и тем, что у школьников шкалы признаков (оценки по предметам) имеют одинаковые градации.
И- как обычно. Если хотите более аккуратных и точных советов - попробуйте свой вопрос переформулировать более точно и аккуратно.
comisora
Цитата(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
Подумал на счёт ближайшей задачи. Нужно найти Y, который зависит от длины и массы тела. Этот Y будет характеризовать степень упитанности человека. По сути, нужно создать индекс массы тела т.к. такого понятия нет (в реальности он есть).
passant
Простите, но опять несоответствие.
Цитата(comisora @ 27.05.2016 - 02:07) *
что более высокие значения по одному опроснику будут соответствовать более высокому значению по другому опроснику и наоборот.

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

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

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

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

А вот здесь - особое внимание уделено построению интегральных показателей для случаев, если исходные показатели измерены в порядковых шкалах (похоже - ваш случай)
http://www.raai.org/about/persons/royzenzo...khonov_2009.pdf
comisora
2 passant
Спасибо, вторая статья особенно в тему, рис. 3 понравился.
Как подозревал, задачка оказалась не такой простой wt.gif
Надо подумать.
p2004r
Цитата(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
comisora
2 p2004r

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

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

оффтоп. Можете подсказать, как менять размер надписей при использовании функции strength.plot {bnlearn}? Круги получаются жутко большими, а текст в них маленький. Заходил на bnlearn.com, при беглом поиске ничего не нашел.
p2004r
Цитата(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
passant
Цитата(p2004r @ 29.05.2016 - 18:04) *
или знаем-имеем образец тогда регрессия.

При условии конечного числа "образцов" и с учетом типа шкал независимых переменных(градаций опросников) - классификация.
Но, насколько я понял, у ТС все-таки не такой случай.
comisora
2 all
Спасибо за высказанные мнения
comisora
Всем доброго дня.
Возник вопрос про использование 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))

Нажмите для просмотра прикрепленного файла
Как правильно выполнить построение модели в данном случае?
Нажмите для просмотра прикрепленного файла
100$
А что такое rsmax2 в этой истории? Просто помню, что в этом bnlearn'e куча алгоритмов, а дальше ничего не помню...
comisora
Цитата(100$ @ 30.09.2017 - 18:25) *
А что такое rsmax2 в этой истории? Просто помню, что в этом bnlearn'e куча алгоритмов, а дальше ничего не помню...

Это "general 2-phase Restricted Maximization (RSMAX2) hybrid algorithms".
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.