Size: a a a

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

2020 December 26

I

I am in R (язык программирования)
Григорий Демин
Я в последние пару лет стал слышать "в Jupyter"/"в Pycharm" вместо "на Pythone"
и не "написать", а "создать"
махаешь палочкой и оно создалось...
источник

AS

Alexander Semenov in R (язык программирования)
Григорий Демин
Я в последние пару лет стал слышать "в Jupyter"/"в Pycharm" вместо "на Pythone"
Буду знать, чем знакомых питонистов троллить.
источник

К

Кирилл in R (язык программирования)
Шо за дичь
источник

a

aGricolaMZ in R (язык программирования)
Переслано от aGricolaMZ
#8 Следующий скринкаст будет в это воскресенье 2020.12.27 в 16:00.

https://zoom.us/j/96844047978?pwd=YkdFNmdENUNJSlY3U04rSndRU0dsQT09
источник

OS

Oleg Serikov in R (язык программирования)
Григорий Демин
Я в последние пару лет стал слышать "в Jupyter"/"в Pycharm" вместо "на Pythone"
ну жупитер уже действительно совсем больше чем питон: к нативной связке питона и баша я там уже так привык что смешиваю не думая, да и порисовать в нём же, на ходу подключив ар — тоже кайф
источник

IS

Ivan Struzhkov in R (язык программирования)
Всем привет!

есть у кого идеи почему

t1 %>% filter(
             ) %>% arrange(client_code) %>%
 mutate(pred=
lm(data=.,sum~dif/factor(client_code))$fitted.values
)

и
t1 %>% group_by(client_code) %>% nest() %>% 
 mutate(pred= lapply(data,function(df) lm(sum~dif,data=df)$fitted.values)) %>% unnest()

Дают разные результаты в предсказании?
При этом для не для всех а для отдельных ошибаются.
Оставил  второй вариант - но хотелось бы разобраться конечно
источник

ЮМ

Юта Мата Ссс... in R (язык программирования)
Ivan Struzhkov
Всем привет!

есть у кого идеи почему

t1 %>% filter(
             ) %>% arrange(client_code) %>%
 mutate(pred=
lm(data=.,sum~dif/factor(client_code))$fitted.values
)

и
t1 %>% group_by(client_code) %>% nest() %>% 
 mutate(pred= lapply(data,function(df) lm(sum~dif,data=df)$fitted.values)) %>% unnest()

Дают разные результаты в предсказании?
При этом для не для всех а для отдельных ошибаются.
Оставил  второй вариант - но хотелось бы разобраться конечно
Предположу что сортировка не равна группировке, и где-нибудь здесь кроется ошибка
источник

IS

Ivan Struzhkov in R (язык программирования)
Юта Мата Ссс
Предположу что сортировка не равна группировке, и где-нибудь здесь кроется ошибка
Звучит похоже конечно , хотя я так и не нащупал где проблема. Но мысли появились куда смотреть еще, спасибо
источник

EK

Evgenii Kalenkovich in R (язык программирования)
Ivan Struzhkov
Всем привет!

есть у кого идеи почему

t1 %>% filter(
             ) %>% arrange(client_code) %>%
 mutate(pred=
lm(data=.,sum~dif/factor(client_code))$fitted.values
)

и
t1 %>% group_by(client_code) %>% nest() %>% 
 mutate(pred= lapply(data,function(df) lm(sum~dif,data=df)$fitted.values)) %>% unnest()

Дают разные результаты в предсказании?
При этом для не для всех а для отдельных ошибаются.
Оставил  второй вариант - но хотелось бы разобраться конечно
Вы в первом случай одну модель на всех фитите, а во втором - по отдельности на каждого клиента. Вот и предсказания разные. Или я что-то упускаю?
источник

IS

Ivan Struzhkov in R (язык программирования)
Evgenii Kalenkovich
Вы в первом случай одну модель на всех фитите, а во втором - по отдельности на каждого клиента. Вот и предсказания разные. Или я что-то упускаю?
предполагается что /factor(client_code) должен разделять как раз внутри lm()
источник
2020 December 27

EK

Evgenii Kalenkovich in R (язык программирования)
По коэффициенту на каждого клиента не то же самое, что независимая модель на каждого клиента. Фитится именно одна большая регрессия. Это то, что называется complete pooling.
источник

EK

Evgenii Kalenkovich in R (язык программирования)
источник

EK

Evgenii Kalenkovich in R (язык программирования)
Прошу прощения, complete pooling это было бы sum~dif на всем датасете. sum~dif/client это, конечно, не оно. Но модель у вас все равно одна остается, с одним общим свободным членом.
источник

ГД

Григорий Демин... in R (язык программирования)
Ivan Struzhkov
Всем привет!

есть у кого идеи почему

t1 %>% filter(
             ) %>% arrange(client_code) %>%
 mutate(pred=
lm(data=.,sum~dif/factor(client_code))$fitted.values
)

и
t1 %>% group_by(client_code) %>% nest() %>% 
 mutate(pred= lapply(data,function(df) lm(sum~dif,data=df)$fitted.values)) %>% unnest()

Дают разные результаты в предсказании?
При этом для не для всех а для отдельных ошибаются.
Оставил  второй вариант - но хотелось бы разобраться конечно
А что обозначает знак деления в формуле? Я поискал в документации - ничего не нашел. Если смотреть на результаты регрессии со знаком деления, то коэффициенты разные в зависимости от группы, но константа для всех уровней фактора одинаковая. То есть это не то же самое, что по отдельности делать. По смыслу должно быть *. Извиняюсь за аццкий однострочник:
summary(
lm(Sepal.Length ~ Sepal.Width*Species, data = iris)$fitted.values -
unlist(lapply(lapply(split(iris, iris$Species), lm, formula = Sepal.Length ~ Sepal.Width), `[[`, 'fitted.values'))
)

Разница не более 1e-15
источник

EK

Evgenii Kalenkovich in R (язык программирования)
x/y == x + x:y
источник

IS

Ivan Struzhkov in R (язык программирования)
Григорий Демин
А что обозначает знак деления в формуле? Я поискал в документации - ничего не нашел. Если смотреть на результаты регрессии со знаком деления, то коэффициенты разные в зависимости от группы, но константа для всех уровней фактора одинаковая. То есть это не то же самое, что по отдельности делать. По смыслу должно быть *. Извиняюсь за аццкий однострочник:
summary(
lm(Sepal.Length ~ Sepal.Width*Species, data = iris)$fitted.values -
unlist(lapply(lapply(split(iris, iris$Species), lm, formula = Sepal.Length ~ Sepal.Width), `[[`, 'fitted.values'))
)

Разница не более 1e-15
В синтетических датасетах все так. Но вот в практике - когда на одном и том же датасете делаю два подхода - вот через nest()
источник

IS

Ivan Struzhkov in R (язык программирования)
А вот тоже самое через y~x/z
источник

IS

Ivan Struzhkov in R (язык программирования)
Ну и вообще ряд кривых отличается
источник

EK

Evgenii Kalenkovich in R (язык программирования)
Так почему вы ожидаете от индивидуальных моделей и от одной обшей модели один и тот же результат? Если бы можно было ещё 1/clientid добавить, тогда было бы одинаково, но с одним общим интерсептом одинаковых результатов не может получиться.
источник

ГД

Григорий Демин... in R (язык программирования)
Ivan Struzhkov
А вот тоже самое через y~x/z
Так там звёздочка должна быть вместо /. С делением константа одна и та же для всех групп, а должна быть разная
источник