Rambler's Top100
Лёгкая версия форума* Виртуальная клавиатура  English  
Molbiol.ru | О проекте | Справочник | Методы | Растворы | Расчёты | Литература | Орг.вопросы
Web | Фирмы | Coffee break | Картинки | Работы и услуги | Биржа труда | Междисциплинарный биологический онлайн-журналZbio-wiki

NG SEQUENCING · ЖИЗНЬ РАСТЕНИЙ · БИОХИМИЯ · ГОРОДСКИЕ КОМАРЫ · А.А.ЛЮБИЩЕВ · ЗООМУЗЕЙ


Темы за 24 часа  [ Вход* | Регистрация* ]  
   



Форум: 
 

Щёлкните, чтобы внести в Избранные Темы* Посоветуйте метод для R
Операции: Хочу стать куратором* · Подписаться на тему* · Отправить страницу по e-mail · Версия для печати*
Внешний вид:* Схема · [ Стандартный ] · +Перв.сообщ.


 
Добавить сообщение в темуСоздать новую темуСоздать голосование
Участник оффлайн! Boreal




 прочитанное сообщение 13.11.2017 12:13     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #1 множественное цитирование

Здравствуйте,
Работаем в R
Изучаем микроэлементный состав почв в зависимости от свойств последних.
Есть массив данных из 56 переменных(м/эл, свойства..) по 14 наблюдений каждая.
Нужно сделать факторный анализ или что-то типа того, чтобы выделить группы переменных коррелирующих между собой. PCA был бы идеален, но программа выдаёт ошибку.
Error in princomp.default(Ep) :
'princomp' может быть использовано только если наблюдений больше чем переменных.

Подскажите что делать в моём случае когда переменных много а повторностей - мало?
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение 13.11.2017 13:51     Сообщение для модератора         Личное письмо  Отправить e-mail
Цитировать Поместить сообщение в колонку новостей  URL #2 множественное цитирование

Наверное, продолжать накапливать данные, пока число наблюдений не превзойдет число переменных. (с) К-н Очевидность.
:)
Участник оффлайн! Den-N
Постоянный участник



 прочитанное сообщение 13.11.2017 15:11     Сообщение для модератора         Личное письмо  Отправить e-mail
Цитировать Поместить сообщение в колонку новостей  URL #3 множественное цитирование

(Boreal @ 13.11.2017 15:13)
Ссылка на исходное сообщение  Здравствуйте,
Работаем в R
...
Подскажите что делать в моём случае когда переменных много а повторностей - мало?

Что-то должно сработать:
1) Использовать не princomp(), а prcomp(). Или PCA() из пакета FactoMineR. Возможно есть ещё пакеты с собственной реализацией алгоритма. Возможно даже лучше будут нелинейные главные компоненты из пакета homals
2) PCA считается не по индивидуальным значениям, а по матрице корреляций. Для матрицы корреляций не важно по скольки наблюдениям получено значение: по 14 или по 14000. Попробуйте подать на вход не сырые данные, а матрицу корреляций (вроде такое можно).
3) Обычно PCA используется в качестве эксплораторной техники, без статпроверки. Поэтому можно просто продублировать свои исходные данные многократно, чтобы обойти формальность превышения числа переменных над числом наблюдений. На числовых результатах нагрузок и графиках осыпи и биплотов это никак не скажется (кроме того, что одни точки будут многократно продублированы).

В любом из 3х случаев к результатам следует относиться как к самым общим тенденциям. 14 - даже не малая выборка (n=30). Устойчивость любого решения будет очень низкой.

Концентрации микроэлементов распределены не нормально, а асимметрично. Желательно сделать перед анализом преобразование Бокса - Кокса, ну или попробовать прологарифмировать. Иначе корреляции будут натягивать не все данные, а лишь хвосты распределений - получится ерунда. Ну или homals - там ранги можно задать вместо исходных.
Участник оффлайн! Boreal




 прочитанное сообщение 14.11.2017 03:10     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #4 множественное цитирование

Спасибо Den-N!
Вы как всегда заменяете многочасовое изучение литературы, теперь можно двигаться в правильном направлении. Матрицу корреляций сделали (см. приложение). Конечно общие тенденции можно посмотреть и здесь. Однако PCA легче интерпретировать. За Бокса-Кокса спасибо, думаю после трансформации картина изменится. Удачи всем и преодоления препятствий!

Картинки:
Rplot103.jpeg - кликните, чтобы открыть увеличенную картинку
Rplot103.jpeg — (5.06мб)   

Участник оффлайн! Boreal




 прочитанное сообщение 14.11.2017 03:12     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #5 множественное цитирование

(bf109xxl @ 13.11.2017 19:51)
Ссылка на исходное сообщение  Наверное, продолжать накапливать данные, пока число наблюдений не превзойдет число переменных. (с) К-н Очевидность.
smile.gif


Да, это самый правильный путь, согласен! Так и поступим в будущем....
Участник оффлайн! pApA2017




 прочитанное сообщение 14.11.2017 17:21     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #6 множественное цитирование

А сам код в R можете выложить?
Участник оффлайн! Boreal




 прочитанное сообщение 16.11.2017 12:23     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #7 множественное цитирование

(pApA2017 @ 14.11.2017 23:21)
Ссылка на исходное сообщение  А сам код в R можете выложить?

Код построения корреляционной матрицы(если Вы это имели ввиду):


library(corrplot)
Mcor=cor(Ept)
corrplot(Mcor, method = "color", addCoef.col = "black", order = "AOE", addgrid.col = "gray33", tl.col = "black")
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 16.11.2017 16:47     Сообщение для модератора         Фотография  Личное письмо  Отправить e-mail  Web-адрес
Цитировать Поместить сообщение в колонку новостей  URL #8 множественное цитирование

(Boreal @ 13.11.2017 12:13)
Ссылка на исходное сообщение  Здравствуйте,
Работаем в R
Изучаем микроэлементный состав почв в зависимости от свойств последних.
Есть массив данных из 56 переменных(м/эл, свойства..) по 14 наблюдений каждая.
Нужно сделать факторный анализ или что-то типа того, чтобы выделить группы переменных коррелирующих между собой. PCA был бы идеален, но программа выдаёт ошибку.
Error in princomp.default(Ep) :
  'princomp' может быть использовано только если наблюдений больше чем переменных.

Подскажите что делать в моём случае когда переменных много а повторностей - мало?


просто поверните "на бок" входные данные

вместо prcomp(data) напишите prcomp(t(data), center=F)
Участник оффлайн! Den-N
Постоянный участник



 прочитанное сообщение 19.11.2017 06:11     Сообщение для модератора         Личное письмо  Отправить e-mail
Цитировать Поместить сообщение в колонку новостей  URL #9 множественное цитирование

Тут ещё в голову пришло: раз у вас 2 разнокачественных блока данных (элементы и свойства почвы), можно попробовать не корреляционную технику (PCA), а регрессионную. Для этого используется анализ избыточности (Redundancy analysis) - есть в пакте vegan или его модификация, "заточенная" на прогноз: PLS (Partial Least Squares = Projection on Latent Structures) - есть в chemometrics и др. Они хороши, если стоит задача спрогнозировать свойства по химии, или химию по свойствам. В хемометрии плоские данные - норма, там вообще не будет проблем с малым числом образцов.
Участник оффлайн! Boreal




 прочитанное сообщение 20.11.2017 03:44     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #10 множественное цитирование

Спасибо Den-N, попробуем и это. Подал матрицу на PCA всё получилось.
Участник оффлайн! Boreal




 прочитанное сообщение 21.11.2017 08:52     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #11 множественное цитирование

(Den-N @ 19.11.2017 12:11)
Ссылка на исходное сообщение  Тут ещё в голову пришло: раз у вас 2 разнокачественных блока данных (элементы и свойства почвы), можно попробовать не корреляционную технику (PCA), а регрессионную. Для этого используется анализ избыточности (Redundancy analysis) - есть в пакте vegan или его модификация, "заточенная" на прогноз: PLS (Partial Least Squares = Projection on Latent Structures) - есть в chemometrics и др. Они хороши, если стоит задача спрогнозировать свойства по химии, или химию по свойствам. В хемометрии плоские данные - норма, там вообще не будет проблем с малым числом образцов.

Ещё раз благодарю за совет. PLS нам бы подошёл я думаю. Начал изучать, но литературы на русском крайне мало. Как это реализуется в R, не нашёл вообще, кроме самих инструкций к пакету chemometrics. На английском смотрю видео, читаю, но пока понимается с трудом(и дело тут не в языке). Может подскажете где доходчиво про PLS и по возможности с примерами из био/экологии.
Буду очень признателен.

Сообщение было отредактировано Boreal - 21.11.2017 08:54
Участник оффлайн! Den-N
Постоянный участник



 прочитанное сообщение 21.11.2017 20:23     Сообщение для модератора         Личное письмо  Отправить e-mail
Цитировать Поместить сообщение в колонку новостей  URL #12 множественное цитирование

Я осваивал PLS для общего развития, когда сошлись время и повод. Использовал свободный data mining - пакет tanagra: https://eric.univ-lyon2.fr/~ricco/tanagra/en/tanagra.html , т.к. для него смог разобраться с инструкциями (скачал всё со стр. http://data-mining-tutorials.blogspot.ru/s...LS%20Regression )
Пример брал какой-то известный набор данных о 16 химических показателях 6 соков и их вкусовых оценках 96 судьями: матрица 6 х (16+96) !!! Записи сохранил, воспроизвести смогу, но к сожалению практики и опыта - никакого. Из пакетов под R пробовал только pls() и он мне решительно не понравился (обсуждалось частично здесь: http://forum.disser.ru/index.php?showtopic=4033)
На этом форуме есть уверенный пользователь PLS из области экологии - elenag1999, может поделится опытом?

Сообщение было отредактировано Den-N - 21.11.2017 20:27
Guest
IP-штамп: frmrnFbN2RFq.
гость



 прочитанное сообщение 23.11.2017 06:02     Сообщение для модератора       
Цитировать Поместить сообщение в колонку новостей  URL #13 множественное цитирование

Спасибо за информацию.
Guest
IP-штамп: frsMoUrr6hEUk
гость



 прочитанное сообщение 25.11.2017 19:58     Сообщение для модератора       
Цитировать Поместить сообщение в колонку новостей  URL #14 множественное цитирование

Попробую еще раз smile.gif

Никакой разницы между

рассматривать (или использовать для проведения кластерного анализа)

prcomp(data, center=F)$x

и

prcomp(t(data), center=F)$rotation

нет.
Guest
IP-штамп: frsMoUrr6hEUk
гость



 прочитанное сообщение 25.11.2017 20:07     Сообщение для модератора       
Цитировать Поместить сообщение в колонку новостей  URL #15 множественное цитирование

Да и ошибки нет никакой

CODE


> (replicate(10,(runif(3))))
         [,1]      [,2]       [,3]       [,4]      [,5]       [,6]      [,7]
[1,] 0.4320640 0.3545240 0.03002239 0.91802507 0.1823844 0.87899911 0.9559072
[2,] 0.4054141 0.5985633 0.12557930 0.05490739 0.1867989 0.29367130 0.4412311
[3,] 0.5147542 0.6579623 0.45617345 0.26344359 0.3235306 0.01495959 0.5873251
         [,8]      [,9]     [,10]
[1,] 0.2267658 0.1312234 0.3621873
[2,] 0.3515767 0.9822658 0.8614734
[3,] 0.2565720 0.9272156 0.4088809
> prcomp(replicate(10,(runif(3))))
Standard deviations (1, .., p=3):
[1] 5.145826e-01 3.791127e-01 5.891253e-17

Rotation (n x k) = (10 x 3):
             PC1         PC2         PC3
[1,]  0.29189670 -0.12477372 -0.54680004
[2,]  0.27829072  0.36654513 -0.01973844
[3,] -0.20965476  0.19880671  0.28569688
[4,]  0.36987497  0.18800831  0.51753448
[5,] -0.44460445  0.52685999 -0.37726807
[6,] -0.06923176 -0.22199913  0.02599552
[7,]  0.15438000  0.64425800 -0.05546027
[8,] -0.01846328  0.15924325  0.01060299
[9,]  0.62258803  0.06610686 -0.04982373
[10,]  0.20574717 -0.05952305 -0.44997537
> prcomp(replicate(10,(runif(3))))$x
           PC1         PC2           PC3
[1,] -0.4390122 -0.30402966 -5.551115e-17
[2,]  0.7157794 -0.04969772 -2.081668e-17
[3,] -0.2767672  0.35372738  2.636780e-16
>
Участник оффлайн! Boreal




 прочитанное сообщение 29.11.2017 08:10     Сообщение для модератора         Личное письмо
Цитировать Поместить сообщение в колонку новостей  URL #16 множественное цитирование

Подскажите пожалуйста, как расположить переменные по убыванию коэффициента корреляции с Фактором 1, 2, 3... В настоящем виде когда смотришь нагрузки факторов, переменные расположены в том же порядке, что и в матрице корреляций, или в исходном массиве.

Сообщение было отредактировано Boreal - 29.11.2017 08:11
Участник оффлайн! nikonevv




 прочитанное сообщение 05.04.2018 18:33     Сообщение для модератора         Личное письмо  Отправить e-mail
Цитировать Поместить сообщение в колонку новостей  URL #17 множественное цитирование

Отличноsmile.gif
guest: 123
IP-штамп: frJhOCvSv9ICE
гость



 прочитанное сообщение Сообщение на английском  31.05.2022 09:16     Сообщение для модератора       
Цитировать Поместить сообщение в колонку новостей  URL #18 множественное цитирование

SINCE LAUNCHING AMB CASINO HIS INVASION OF UKRAINE, RUSSIA'S FC SLOT PRESIDENT VLADIMIR PUTIN 88KTC HAS FACED AN UNPRECEDENTED 11HILO GLOBAL RESPONSE, FROM CULTURAL BOYCOTTS TO 123GOAL COUNTRIES RADICALLY 123VEGA TRANSFORMING THEIR ALLBET FOREIGN POLICIES. BUT THE สูตรสล็อต LONGER THE CONFLICT CANDY BURST GOES ON, THE MORE SIGNS THERE ปั่นสล็อต ARE OF DIVISIONS.
guest: 123
IP-штамп: fr4iy3.kHUw02
гость



 прочитанное сообщение Сообщение на английском  06.06.2022 12:40     Сообщение для модератора       
Цитировать Поместить сообщение в колонку новостей  URL #19 множественное цитирование

South Korea 123VEGA and the US launched WAZDAN eight missiles WM CASINO on Monday, in AFFILIATE response to a ลิงค์รับทรัพย์ volley of ballistic missiles fired by North Korea the 123GOAL previous day. It comes 88KTC as Pyongyang continues FC SLOT to escalate its AMB CASINO missile tests. South 11HILO Korea's president Yoon Suk-yeol.
guest: 123
IP-штамп: frAWeMdOsBSXM
гость



 прочитанное сообщение Сообщение на английском  11.06.2022 10:51     Сообщение для модератора       
Цитировать Поместить сообщение в колонку новостей  URL #20 множественное цитирование

Saxon Mullins 123VEGA says she once had PRAGMATIC PLAY romantic dreams of what her 'first time' would ICONIC GAMING be like. In none was หวยปิงปอง she paralysed by fear in a Sydney ปั่นสล็อต alleyway, aged 18, with a 123GOAL man she had met only minutes earlier. Ms 88KTC Mullins has always maintained FC SLOT this incident - in 2013 - was rape. It spurred AMB CASINO her to push for legal 11HILO reform in Australia, after a long court battle ended with a judge finding the man involved did not realise she hadn't consented to sex.

*




Кнопка "Транслит" перекодирует
текст из транслита в кирилицу.
Правила перекодировки здесь;
текст в квадратных скобках'[]'
не преобразуется.
Имя:

 преобразовывать смайлики · показать смайлики
Назначение кнопок:

   Поблагодарить автора сообщения — поблагодарить автора
   Удалить сообщение — удалить
   Редактировать сообщение — редактировать
   Поместить сообщение в колонку новостей — поместить в колонку новостей
   Цитировать — цитировать сообщение
   не входит в цитирование/входит в цитирование — цитировать несколько
   Отметить СПАМ-сообщение — обозначить спам
   Сообщение для модератора — связь с модератором
   Участник онлайн!/Участник оффлайн! — автор онлайн/оффлайн
   Фотография — фотография автора

   - остальные обозначения -
 
   *
« Предыдущая тема · Биофизика и матметоды в биологии · Следующая тема »
Быстрый ответДобавить сообщение в темуСоздать новую тему

Rambler   molbiol.ru - методы, информация и программы для молекулярных биологов              

 ·  Викимарт - все интернет-магазины в одном месте  ·  Доска объявлений Board.com.ua  · 
--- сервер арендован в компании Hetzner Online, Германия ---
--- администрирование сервера: Intervipnet ---

Хеликон · Диаэм · ИнтерЛабСервис · Beckman Coulter · SkyGen · ОПТЭК · BIOCAD · Евроген · Синтол · БиоЛайн · Sartorius · Химэксперт · СибЭнзим · Tecan · Даниес · НПП "ТРИС" · Биалекса · ФизЛабПрибор · Genotek · АТГ Сервис Ген · Биоген-Аналитика
Ваш форум  ·  redactor@molbiol.ru  ·  реклама  ·  Дата и время: 28.03.24 18:23
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft