Порешаем кейс Аналитика в дистанционном обучении.
Напомню, основная идея: посмотреть как время прохождения курса влияет на оценку удовлетворенности этим курсом.
Данные по оценкам такие
1 2 3 4 5
63 90 769 5280 22585
Ценность прогноза, безусловно, снижается тем, что у "пятерки" дают три четверти оценок. Тем не менее, мы различия нашли
Данные регрессии следующие (время прохождения курса мы логарифмируем)
lm(formula = log(r1$timec, base = exp(1)) ~ k, data = r1)
Residuals:
Min 1Q Median 3Q Max
-1.2396 -0.5590 -0.0482 0.4218 3.3122
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.9601884 0.0046702 847.976 < 2e-16 ***
k1 0.2416935 0.0866167 2.790 0.00527 **
k2 0.2267594 0.0730114 3.106 0.00190 **
k3 0.1126549 0.0255257 4.413 1.02e-05 ***
k4 0.0004889 0.0107263 0.046 0.96364
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.7027 on 28870 degrees of freedom
(19 observations deleted due to missingness)
Multiple R-squared: 0.001263, Adjusted R-squared: 0.001124
F-statistic: 9.125 on 4 and 28870 DF, p-value: 2.305e-07
Потрясающий R^2?)
И распределение времени по каждому уровню оценки
Как читать диаграмму boxplot - для понимания результатов
Напомню, основная идея: посмотреть как время прохождения курса влияет на оценку удовлетворенности этим курсом.
Диаграмма. Распределение времени прохождения курсов
Данные по оценкам такие
1 2 3 4 5
63 90 769 5280 22585
Ценность прогноза, безусловно, снижается тем, что у "пятерки" дают три четверти оценок. Тем не менее, мы различия нашли
Данные регрессии следующие (время прохождения курса мы логарифмируем)
lm(formula = log(r1$timec, base = exp(1)) ~ k, data = r1)
Residuals:
Min 1Q Median 3Q Max
-1.2396 -0.5590 -0.0482 0.4218 3.3122
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.9601884 0.0046702 847.976 < 2e-16 ***
k1 0.2416935 0.0866167 2.790 0.00527 **
k2 0.2267594 0.0730114 3.106 0.00190 **
k3 0.1126549 0.0255257 4.413 1.02e-05 ***
k4 0.0004889 0.0107263 0.046 0.96364
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.7027 on 28870 degrees of freedom
(19 observations deleted due to missingness)
Multiple R-squared: 0.001263, Adjusted R-squared: 0.001124
F-statistic: 9.125 on 4 and 28870 DF, p-value: 2.305e-07
Потрясающий R^2?)
И распределение времени по каждому уровню оценки
Как читать диаграмму boxplot - для понимания результатов
Почему название поста не "Зависит ли удовлетворенность электронным курсом от времени его прохождения?" :))))
ОтветитьУдалитья исчерпал запас креатива на названия)
УдалитьНе бережёшь ты себя.
УдалитьПросто нумеруй посты :)
ну какое-то время, в целях экономии и аккумуляции креативной энергии
посты надо продавать
Удалитьесли заметил, у меня часто название поста не очень соответствует начинке)))
попробовал порешать кейс и сразу затупил.
ОтветитьУдалитьскачал данные, считал таблицу(две колонки последние: "Сколько времени потратил на изучение курса в минутах? Введи число" и "Оцени весь курс по пятибальной оценке".
Получил следующее распределение оценок:
sum(all5, na.rm = TRUE)
[1] 1.000156e+13
sum(all4, na.rm = TRUE)
[1] 120098211
sum(all3, na.rm = TRUE)
[1] 6502598
sum(all2, na.rm = TRUE)
[1] 100635
sum(all1, na.rm = TRUE)
[1] 1.036565e+15
Доктор, что я делаю не так?
я протупил, вместо количества оценок просуммировал время :)
ОтветитьУдалитьпеределал, и получилось, что значения отличаются всё равно, у меня вышло:
1 2 3 4 5
126 155 1042 6514 28168
а какой функцией считал?
ОтветитьУдалитьне пробовал просто table(..$..) - многоточия, потому что не помню уже имен переменных
ни хрена чему вас на курсере учат))) я бы не догадался так)))
Там учат как правильно делать, а это то, что я запомнил:)
ОтветитьУдалитьПовторил сейчас эксперимент:
## 1. Скачал файл "Аналитика в дистанционном обучении (данные для анализа)".
## 2. Переименовал две последние колонки ("Сколько времени потратил на изучение курса в минутах? Введи число" и "Оцени весь курс по пятибальной оценке") в timec и mark, соответственно.
## 3. Заменил все пустые значения на NA.
## 4. Скопировал эти две колонки в буфер обмена.
## 5. Назначил elearn
elearn <- read.table("clipboard", header = TRUE)
## 6. Посмотрел, что из себя представляет наша таблица с данными:
str(elearn)
'data.frame': 36066 obs. of 2 variables:
$ timec: Factor w/ 266 levels "0","1","10","100",..: 206 54 73 85 23 85 205 114 149 73 ...
$ mark : int 5 5 5 5 4 4 5 4 5 5 ...
## 7. Проверил твой способ
table(elearn$mark)
1 2 3 4 5
126 155 1042 6514 28168
я понял, в чем тебя обманул
Удалитьмы с Заказчиком сделали ограничения по времени прохождения курса:
1) курс не может быть меньше .... 3 минут кажись... или 5-ти
2) не больше.....
ну здесб все просто
subset
Иван, прошу прощения((((
я такие вещи упускаю..
да, ограничения потому, что меньше физически невозможно, больше - это шутники
в любом случае время часто с потолка берется, отсюа таие нточности
Ты меня успокоил, я думал опять где-то туплю :)
ОтветитьУдалитьа я зато увидел новую формулу sum(all.....
Удалитьникогда ранее не встречался
....
и еще: ты обратил внимание, какой маленький R^2
На самом деле это просто сумма.
ОтветитьУдалитьR^2 вдохновляет, ага))
в смысле all5 - это просто ты так обозначил, а не есть аргумент этой функции?
Удалитьтак заметь R^2 = 0.001263, но значимость p-value: 2.305e-07
т.е. R:2 значим. вот оно чё...
именно так, это просто вектор со всеми значениями по пятёркам.
Удалитьпро значимость R^2 вспомнил анекдот:
На совещании в министерстве экономического развития Белорусии:
Слушайте, ребята, нефть – она же в земле?
– Ну да.
– Вот. И картошка наша тоже в земле. Так вот я что думаю: может, мы просто невнимательно копаем?
т.е. all5 это все таки вектор? R распознает команду all5?
Удалитья назначил этот вектор, назвал его all5
Удалить