Size: a a a

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

2021 January 24

E

Eкатерина in R (язык программирования)
Dm Kb
1. Обычно в логистической регрессии работают с численными переменными-предикторами, а не факторными/номинальными. Использование последних уже является логистической регрессией с контрастами или что-то в этом роде
2. Соответсвенно Intercept - это параметр регрессии на константу и к кодированию отношения не имеет
3. Переменные можно просто исключить из модели. Собственно т.к. они не значимы, то и удаление/добавление таки переменных не должно сильно влиять на модель. Ваша Anova об этом и говорит.
4. Для того чтобы параметры регресси можно было анализировать на существенность то рекоменудется делать центрирование и нормирование. Тогда можно будет наглядно увидеть, что одни параметры существенные, а другие нет. Существенность и значимость - это разные вещи, естественно.
5. Обычно исключение переменных из модели линейной регрессии делается для того чтобы исключить мультиколлиниарность т.е. исключить многократное влияние одной экзогенной переменной
Под существенностью Вы имеете в виду как сильно влияет на зависимую переменную независимая переменная, т.е значение коэффициентов (при условии, что мы стандартизировали переменные), под значимостью  p-value?
О факторных и численных переменных я думала, как и Igor
источник

DK

Dm Kb in R (язык программирования)
Igor Yakubovskiy
я бы немного поправил
Исключение делается для того, чтобы снизить сложность модели и сохранить несмещенность оценок.
Кстати не понял про численные и факторные / номинальные переменные. Что значит констрасты? Мне казалось, что отличий вообще никак с линейной регрессией в этом плане - какие экзогенные хочешь, такие и берешь.
да, отличий от линейной регрессии нет... принцип работы моделей очень схожий... glm - чуть сложнее из-за проекции непрерывного численного множества в бинарное...  просто, если на вход подается факторная/категориальная переменная (я не знаю, я тут гадаю), то она автоматически перекодируется в группу переменных с 0 и 1. т.е. была переменная  location со значениями: location1, location2,  location2, а стало три переменных у которых исключающая единица. Нам это особо не видно. Модель все делает автоматом, но знать что там происходит очень полезно. В таком случае Intercept также играет роль регрессии на константу и перекодировать ничего не нужно. Про контрасты можно почитать тут: https://r-analytics.blogspot.com/2013/03/blog-post_30.html#.XSHefpOPn6C
источник

DK

Dm Kb in R (язык программирования)
Eкатерина
Под существенностью Вы имеете в виду как сильно влияет на зависимую переменную независимая переменная, т.е значение коэффициентов (при условии, что мы стандартизировали переменные), под значимостью  p-value?
О факторных и численных переменных я думала, как и Igor
да, существенность - это сила влияния... переменная может объяснять всего 5-10% вариации, но быть очень существенной. Например ваши личные доходы могут объясняться на 5% выигрышами в лотерею с призовым фондом 1 млн. рублей. Значимость не такая большая как значимость переменной вашей ЗП, но вот влияние большое.
источник

IY

Igor Yakubovskiy in R (язык программирования)
Dm Kb
да, существенность - это сила влияния... переменная может объяснять всего 5-10% вариации, но быть очень существенной. Например ваши личные доходы могут объясняться на 5% выигрышами в лотерею с призовым фондом 1 млн. рублей. Значимость не такая большая как значимость переменной вашей ЗП, но вот влияние большое.
Так значимость - это просто проверка на то, истинный коэффициент ноль или не ноль
источник

DK

Dm Kb in R (язык программирования)
Igor Yakubovskiy
Так значимость - это просто проверка на то, истинный коэффициент ноль или не ноль
наверное можно и так сказать... просто переменную можно измерять в рублях, а можно в миллионах рублей... соответсвенно коэффициенты будут разные для рублей и миллионов рублей... но вы правы, чем меньше значимость тем ближе к нулю коэффициенты...
источник

ГД

Григорий Демин... in R (язык программирования)
>чем меньше значимость, тем ближе к нулю коэффициенты

С точки зрения статистики, это  ересь. Так нельзя говорить
источник

ГД

Григорий Демин... in R (язык программирования)
Eкатерина
Или вообще делать ничего не нужно с уровнями этого фактора, а оставлять модель в таком виде? Я попробовала сделать, как описано мной выше. После этого провела anova, где видно, что модели очень мало различаются.
Прошу прощения, если мой вопрос не относится к основной теме чата
Если вы так хотите избавиться от избыточных локаций, то можно перекодировать, как вы описали . Но Андрей вам правильно посоветовал, что лучше оба варианта (с перекодировкой и без) проверить на тестовой выборке. Оставить тот вариант, который даёт большую точность
источник

DK

Dm Kb in R (язык программирования)
Григорий Демин
>чем меньше значимость, тем ближе к нулю коэффициенты

С точки зрения статистики, это  ересь. Так нельзя говорить
хорошо, отвечу кодом ниже... нужно обратить внимание, что модели одинаковые, а значение коэффициентов разные ... соответсвенно после нормирования и центрирования коэффициенты можно сравнивать между собой и определять существенность:
library(magrittr)
iris2 <-  apply(iris[, 1:4], MARGIN = 2, FUN = function(x)scale(x)) %>% as.data.frame()
lm(Sepal.Length ~ ., data = iris[, 1:4]) %>% summary()
lm(Sepal.Length ~ ., data = iris2) %>% summary()
источник

A

Andrey in R (язык программирования)
Dm Kb
хорошо, отвечу кодом ниже... нужно обратить внимание, что модели одинаковые, а значение коэффициентов разные ... соответсвенно после нормирования и центрирования коэффициенты можно сравнивать между собой и определять существенность:
library(magrittr)
iris2 <-  apply(iris[, 1:4], MARGIN = 2, FUN = function(x)scale(x)) %>% as.data.frame()
lm(Sepal.Length ~ ., data = iris[, 1:4]) %>% summary()
lm(Sepal.Length ~ ., data = iris2) %>% summary()
что такое существенность и как ее определять по выхлопу ановы?
источник

DK

Dm Kb in R (язык программирования)
Andrey
что такое существенность и как ее определять по выхлопу ановы?
существенность - это мнение специалиста относительно того насколько предиктор является важным с точки зрения цели моделирования... если употребление сельдерея в рационе двух групп людей имеет статистическую значимость для продолжительности жизни - это еще не значит, что такая значимость кому-то интересна т.к. разница может составлять, например 2 часа для продолжительности жизни... впрочем журналисты раструбят, что сельдерей спасет человечество и все такое ))
источник

A

Andrey in R (язык программирования)
ну так это называется размер эффекта
источник

A

Andrey in R (язык программирования)
и это тоже со значимостью никак не связанное понятие
источник

PU

Philipp Upravitelev in R (язык программирования)
точнее, связанное, но очень опосредованно, так как оба принадлежат фреймворку null hypothesis significance testing
источник

A

Andrey in R (язык программирования)
короче, чего только люди не придумают, лишь бы не считать пермутированную важность
источник
2021 January 25

Н

Ник in R (язык программирования)
всем привет)
подскажите, кто-нибудь сталкивался с подобной ошибкой?

Ошибка в attr(x, "tsp") <- c(1, NROW(x), 1) :объект не является матрицей

предположил что вроде из-за этой строки.
text = paste0( sample(c("привет","прифки","шалом","каничива",1)),

но раньше по ней все ок было.
поэтому вот в раздумьях в чем косяк
пысы: гугол нашел только 2 похожих случая и их решения мне не помогли
источник

VV

Vladimir Volokhonsky... in R (язык программирования)
Ник
всем привет)
подскажите, кто-нибудь сталкивался с подобной ошибкой?

Ошибка в attr(x, "tsp") <- c(1, NROW(x), 1) :объект не является матрицей

предположил что вроде из-за этой строки.
text = paste0( sample(c("привет","прифки","шалом","каничива",1)),

но раньше по ней все ок было.
поэтому вот в раздумьях в чем косяк
пысы: гугол нашел только 2 похожих случая и их решения мне не помогли
Судя по тексту ошибки на момент выполнения NROW объект x не был ни матрицей, ни вектором. Возможно, в этот момент x представляет собой список или ещё что-то в этом духе.
источник

АК

Артём Клевцов... in R (язык программирования)
Ник
всем привет)
подскажите, кто-нибудь сталкивался с подобной ошибкой?

Ошибка в attr(x, "tsp") <- c(1, NROW(x), 1) :объект не является матрицей

предположил что вроде из-за этой строки.
text = paste0( sample(c("привет","прифки","шалом","каничива",1)),

но раньше по ней все ок было.
поэтому вот в раздумьях в чем косяк
пысы: гугол нашел только 2 похожих случая и их решения мне не помогли
Просто сделай str(x) и увидишь всё.
источник

Н

Ник in R (язык программирования)
Vladimir Volokhonsky МО 72
Судя по тексту ошибки на момент выполнения NROW объект x не был ни матрицей, ни вектором. Возможно, в этот момент x представляет собой список или ещё что-то в этом духе.
я примерно так и догадывался. пасиб)
источник

Н

Ник in R (язык программирования)
Артём Клевцов
Просто сделай str(x) и увидишь всё.
спасибо) пойду делать)
источник

YS

Yuriy Saraikin in R (язык программирования)
Коллеги, добрый день! вебинары Филиппа подтолкнули к изучению data.table.  Нужно отфильтровать только те  строки, где для всех id переменная dx равна i10.

df <- structure(list(id = c(1L, 2L, 2L, 3L, 3L, 4L, 4L),
dx = c("E70", "I10", "I10", "I10", "J15", "I10", "I10")),  class = "data.frame", row.names = c(NA, -7L))

setDT(df)

вариант 1:
df[, .SD[all(dx == "I10")], by = id]
вариант 2:
df[all(dx == "I10"), .SD, by = id]

не могу понять почему вариант 2 не работает? подскажите
источник