Size: a a a

R (язык программирования)

2021 February 19

ЕТ

Евгений Томилов... in R (язык программирования)
Евгений Томилов
Странно, теперь он вылетает при добавлении нового участника группы.
Ага, он вылетает при каждом добавлении участника или при добавлении в новую группу. И его надо как-то перезапускать, видимо.
источник

DK

Dm Kb in R (язык программирования)
Валерий К
Всем привет!
Есть такой список.
Нужно из него получить элементы вложенного списка userIds где значение name == "нужное значение"
То есть нужно найти номер элемента списка, где  name == "нужное значение" и из него получить элементы списка userIds
Надеюсь понятно объяснил?
Добрый вечер!
Может попробовать purrr::map_dfr(parsed, ~pluck(., “name”)==“something“) и потом which(), если индекс нужен
источник

ДВ

Дмитрий Володин... in R (язык программирования)
Валерий К
Всем привет!
Есть такой список.
Нужно из него получить элементы вложенного списка userIds где значение name == "нужное значение"
То есть нужно найти номер элемента списка, где  name == "нужное значение" и из него получить элементы списка userIds
Надеюсь понятно объяснил?
Если каждый элемент списка одинаковой структуры, то можно через lapply и лямбду же в принципе. Абстрактно сложно без данных, но по идее должна работать конструкция lapply(input_list, function(x) if (x$name == "нужное значение") return(x$userIds)). По идее вам вернётся список, где в каждом элементе будет либо элементы userIds, когда условие выполняется, либо null
источник
2021 February 20

А

Анатолий in R (язык программирования)
Добрый день!

Вопрос, наверное, дурной, но я как-то основательно подвис. Нашел очень интересный метод для моей задачи. Хочу попробовать. Факторный анализ?- смотрю в лекции Абакумова, использую factanal(), вылетает с ошибкой, что данные коллинеарные. Как? Разве факторный анализ не создан для того, чтобы уменьшать размерность данных, в том числе за счет объединения коррелирующих переменных? Гуглю, что еще делает факторный анализ. Psych::fa() – та же проблема, не ест коррелированные данные.  Это у меня какое-то не такое понимание факторного анализа?

Вспоминаю, что из этой же области метод главных компонент (который не очень понятно для меня объяснял Карпов на степике). Пробую его применять «в лоб», на коррелированных данных с ним все ok, но не он используется же в найденном видео. Боюсь, что из-за моего непонимания математической сущности получится чушь. Но нахожу в интернете, что «факторный анализ и метод главных компонент обычно дают очень близкие результаты…»

Собственно вопросы.
1.Можно ли заставить факторный анализ работать с коррелированными переменными. Если да, то как?

2.Можно ли вместо факторного анализа использовать метод главных компонент? Что тогда оттуда брать для использования в методе из видео-   rotation matrix?

3.И в добавок возник вопрос. Вот сделали fit<-factanal(x_старые). Из fit можно достать значения факторов для каждого x_i. Теперь есть множество x_новые. Хочу узнать для них значения факторов по уже обученной модели. Можно ли это как-то сделать? И, можно ли достать из модели «формулу», чтобы считать значения факторов вне R.
источник

PU

Philipp Upravitelev in R (язык программирования)
Анатолий
Добрый день!

Вопрос, наверное, дурной, но я как-то основательно подвис. Нашел очень интересный метод для моей задачи. Хочу попробовать. Факторный анализ?- смотрю в лекции Абакумова, использую factanal(), вылетает с ошибкой, что данные коллинеарные. Как? Разве факторный анализ не создан для того, чтобы уменьшать размерность данных, в том числе за счет объединения коррелирующих переменных? Гуглю, что еще делает факторный анализ. Psych::fa() – та же проблема, не ест коррелированные данные.  Это у меня какое-то не такое понимание факторного анализа?

Вспоминаю, что из этой же области метод главных компонент (который не очень понятно для меня объяснял Карпов на степике). Пробую его применять «в лоб», на коррелированных данных с ним все ok, но не он используется же в найденном видео. Боюсь, что из-за моего непонимания математической сущности получится чушь. Но нахожу в интернете, что «факторный анализ и метод главных компонент обычно дают очень близкие результаты…»

Собственно вопросы.
1.Можно ли заставить факторный анализ работать с коррелированными переменными. Если да, то как?

2.Можно ли вместо факторного анализа использовать метод главных компонент? Что тогда оттуда брать для использования в методе из видео-   rotation matrix?

3.И в добавок возник вопрос. Вот сделали fit<-factanal(x_старые). Из fit можно достать значения факторов для каждого x_i. Теперь есть множество x_новые. Хочу узнать для них значения факторов по уже обученной модели. Можно ли это как-то сделать? И, можно ли достать из модели «формулу», чтобы считать значения факторов вне R.
я сто лет не использовал факторный анализ и почти столько же не делал его в R
насколько я помню, там дело в том, что факторный анализ, конечно, да, предназначен для снижения размерности данных. однако когда данные (или некоторые переменные) высоко скоррелированы, получается вырожденная матрица, и, по сути, нет возможности найти какие-то латентные факторы. мне даже вспоминается эвристика, что хорошо бы сначала просто посмотреть матрицы корреляций, и корреляции вы 0.9 просто руками пофиксить. и наоборот, если все переменные слабо скоррелированы, то факторный точно так же плохо взлетит.

метод главных компонент и методы факторного анализа очень близки по логике, вопрос в том, как подходят к оценке общей дисперсии. метод главных компонент это, по сути, линейное преобразование, факторные анализы - именно попытка найти латентные переменные, обеспечивающие общую дисперсию.
источник

PU

Philipp Upravitelev in R (язык программирования)
если очень хочется именно математический слой освоить, читайте "митина, факторный анализ для психологов"
источник

PU

Philipp Upravitelev in R (язык программирования)
на вход факторный анализ обычно принимает таблицу, где по строкам наблюдения, а по колонкам - признаки (переменные)
источник

PU

Philipp Upravitelev in R (язык программирования)
по третьему вопросу. смотрите, факторный анализ - это генеративный алгоритм, а не ml-модель. то есть, он ищет факторы в тех данных, которые ему дали. обsчно это используется либо для сокращения пространства признаков (из 100 переменных сделать 4) и дальше уже с ними работать. либо для того, чтобы понять структуру данных. в целом, факторная структура не генерализируется на другие данные, это уже пляски с структурными уравнениями и конфирматорным факорным анализом, совсем другая тема.
источник

А

Анатолий in R (язык программирования)
Philipp Upravitelev
если очень хочется именно математический слой освоить, читайте "митина, факторный анализ для психологов"
Спасибо, посмотрю. Но мне пока найти метод под задачу, а потом уже глубоко вникнуть в сущность метода. Задача примерно такая: есть изделия, группированы по условиям использования, в каждой группе фиксируется доля отказов в момент времени. Задача- подсветить группы, в которых что-то не то. По столбцам- название групп (тут исправил), по строкам- период времени. На пересечении- % отказа. По мне – прям калька с задачи из видео (количество кликов во времени по разным объектам, то же что и продажи разных товаров по времени).  Странно, в видео явная же корреляция временных рядов. На скользящем окне среди 1000 временных рядов точно найдутся 100% скоррелированные. Значит спикер под «факторами» понимал что-то другое?
источник

ГД

Григорий Демин... in R (язык программирования)
Анатолий
Спасибо, посмотрю. Но мне пока найти метод под задачу, а потом уже глубоко вникнуть в сущность метода. Задача примерно такая: есть изделия, группированы по условиям использования, в каждой группе фиксируется доля отказов в момент времени. Задача- подсветить группы, в которых что-то не то. По столбцам- название групп (тут исправил), по строкам- период времени. На пересечении- % отказа. По мне – прям калька с задачи из видео (количество кликов во времени по разным объектам, то же что и продажи разных товаров по времени).  Странно, в видео явная же корреляция временных рядов. На скользящем окне среди 1000 временных рядов точно найдутся 100% скоррелированные. Значит спикер под «факторами» понимал что-то другое?
100 процентов скореллированных не должно быть, если это естественные данные. Все-таки проверьте, может данные задвоились. Или одно изделие у вас идеально зависит от другого
источник

ГД

Григорий Демин... in R (язык программирования)
Хотя в вашем случае, мне кажется, главных компонент достаточно. В факторном анализе разные предположения об ошибке и прочее. Здесь они вроде не особо нужны
источник

DK

Dm Kb in R (язык программирования)
Анатолий
Спасибо, посмотрю. Но мне пока найти метод под задачу, а потом уже глубоко вникнуть в сущность метода. Задача примерно такая: есть изделия, группированы по условиям использования, в каждой группе фиксируется доля отказов в момент времени. Задача- подсветить группы, в которых что-то не то. По столбцам- название групп (тут исправил), по строкам- период времени. На пересечении- % отказа. По мне – прям калька с задачи из видео (количество кликов во времени по разным объектам, то же что и продажи разных товаров по времени).  Странно, в видео явная же корреляция временных рядов. На скользящем окне среди 1000 временных рядов точно найдутся 100% скоррелированные. Значит спикер под «факторами» понимал что-то другое?
Факторный анализ называется анализом потому как анализировать помогает )) Может быть если вы будите смотреть на него просто как способ снизить размерность по вариации, то вам станет проще с ним работать?
И по поводу корреляции мнение следующее - используйте SVD или PCA на базе SVD т.к. в этих методах производится разложение матрицы по ортогональному базису: если у вас будет сингулярность, то она просто вам обнулит одно из значений вектора собственных чисел... не уверен, что понятно написал(((
Ну и с житейской точки зрения, если у вас 100% корреляции, то это значит, что у вас два входящих предиктора, которые являются одним и тем же, но видимо имеют разную размерность. Ну например длинна детали в мм и в см. Зачем вам такие вещи вообще в модель включать?
источник

А

Анатолий in R (язык программирования)
Григорий Демин
100 процентов скореллированных не должно быть, если это естественные данные. Все-таки проверьте, может данные задвоились. Или одно изделие у вас идеально зависит от другого
Если мы ползем по 1000 графиков скользящим окном,  то очень высока вероятность,  что рано или поздно в окне окажутся очень хорошо скоррелированные участки. Особенно на узком окне.  У меня получалось не 100% корреляция,  но сообщение,  что матрица "численно сингулярна".
В любом случае у спикера в видео есть данные,  которые очень хорошо скоррелированы (урожайность одного и того же поля,  измеренная разными методами или людьми)
источник

A

Ars in R (язык программирования)
Здравствуйте! Подскажите, пожалуйста, почему запрос к SQL с помощью функции sqlQuery (пакет RODIBC) со следующей структурой, возвращает character(0)

sqlQuery (channel, "
create table #1
create table #2

select
#1.a,
#1.b,
#2.b
from #1
left join #2
on #1.a = #2.a

drop table #1
drop table #2")

В server management studio запрос отрабатывает корректно.
источник

EP

Ed P in R (язык программирования)
Анатолий
Если мы ползем по 1000 графиков скользящим окном,  то очень высока вероятность,  что рано или поздно в окне окажутся очень хорошо скоррелированные участки. Особенно на узком окне.  У меня получалось не 100% корреляция,  но сообщение,  что матрица "численно сингулярна".
В любом случае у спикера в видео есть данные,  которые очень хорошо скоррелированы (урожайность одного и того же поля,  измеренная разными методами или людьми)
Но если разные люди измеряли один и тот же показатель, то зачем городить огород, можно же просто усреднить результат
источник

ГД

Григорий Демин... in R (язык программирования)
Анатолий
Если мы ползем по 1000 графиков скользящим окном,  то очень высока вероятность,  что рано или поздно в окне окажутся очень хорошо скоррелированные участки. Особенно на узком окне.  У меня получалось не 100% корреляция,  но сообщение,  что матрица "численно сингулярна".
В любом случае у спикера в видео есть данные,  которые очень хорошо скоррелированы (урожайность одного и того же поля,  измеренная разными методами или людьми)
Вот в том то и дело, что на хорошо скореллированных он падать не должен. А только на идеально скоррелерованных. А размер окна какой?
источник

АН

Алексей Нагорский... in R (язык программирования)
Ars
Здравствуйте! Подскажите, пожалуйста, почему запрос к SQL с помощью функции sqlQuery (пакет RODIBC) со следующей структурой, возвращает character(0)

sqlQuery (channel, "
create table #1
create table #2

select
#1.a,
#1.b,
#2.b
from #1
left join #2
on #1.a = #2.a

drop table #1
drop table #2")

В server management studio запрос отрабатывает корректно.
а тут случайно нет параметра в стиле multiplyQuery или что-то вроде того?
источник

А

Анатолий in R (язык программирования)
Григорий Демин
Вот в том то и дело, что на хорошо скореллированных он падать не должен. А только на идеально скоррелерованных. А размер окна какой?
12 точек (пока с месячным разрезом работаю). На 24 точках получалось не сильно лучше.
источник

А

Анатолий in R (язык программирования)
Ed P
Но если разные люди измеряли один и тот же показатель, то зачем городить огород, можно же просто усреднить результат
Я так понимаю докладчик хотел показать как все здорово работает автоматически,  без привязки к природе данных.  Посмотрите видео,  может я его не так понял.
источник

JL

Julia Laryushina in R (язык программирования)
Ars
Здравствуйте! Подскажите, пожалуйста, почему запрос к SQL с помощью функции sqlQuery (пакет RODIBC) со следующей структурой, возвращает character(0)

sqlQuery (channel, "
create table #1
create table #2

select
#1.a,
#1.b,
#2.b
from #1
left join #2
on #1.a = #2.a

drop table #1
drop table #2")

В server management studio запрос отрабатывает корректно.
Разнесите select и drop в разные запросы.
Скорее всего, Вам возвращается результат последней операции.
источник