При выполнении ДЗ вы можете пользоваться различными источниками информации (лекциями, справкой, книгами, различными интернет-ресурсами). Вы можете адаптировать код, найденный где-то в интернете, для решения приведенных задач, однако в этом случае вы должны в тексте решения указать ссылку на источник этого кода. Вы можете обсуждать решения между собой, однако не можете использовать код другого студента: если кто-то объяснил вам, как решается та или иная задача, вам необходимо написать соответствующий код и все необходимые пояснения самостоятельно (своими словами). Определить, что код списан, а не написан самостоятельно, гораздо проще, чем вы думаете: в случае обнаружения списывания все вовлеченные работы будут аннулированы.
df <- read.csv("http://www.ats.ucla.edu/stat/data/hsb2.csv")
read).hist(df$read)
3. Преобразовать переменные
female и prog в факторы с помощью as.factor.
df$female <- as.factor(df$female)
df$prog <- as.factor(df$prog)
math, сгруппированной по фактору female. (Должно быть нарисовано два ящика с усами, один отвечает выборке, содержащей все значения переменной math в строчках, в которых female обращается в 0, а другой отвечает выборке, содержащей все значения переменной math в строчках, в которых female обращается в 1.)plot(math ~ female, data=df)
5. Позволяют ли представленные данные говорить о том, что девушки получают в среднем более высокие оценки по письму (
write)? Проверить соответствующую статистическую гипотезу на уровне значимости 5%, используя подходящий односторонний тест, указать найденное p-value и сделать вывод.
tt <- t.test(write ~ female, data=df, alternative = 'less')
tt
##
## Welch Two Sample t-test
##
## data: write by female
## t = -3.6564, df = 169.71, p-value = 0.0001704
## alternative hypothesis: true difference in means is less than 0
## 95 percent confidence interval:
## -Inf -2.667152
## sample estimates:
## mean in group 0 mean in group 1
## 50.12088 54.99083
Вывод: Найдено p-value: \(1.7044247\times 10^{-4}<0.05\), следовательно, нулевая гипотеза (о равенстве) отвергается: можно подтвердить, что что девушки действительно получают значимо большие оценки по письму.
female и prog независимыми, используя подходящий тест (хи-квадрат или точный тест Фишера).tab <- table(df[c('female','prog')])
ct <- chisq.test(tab)
Вывод: Найдено p-value: \(1.7044247\times 10^{-4}>0.05\), следовательно, нулевая гипотеза (о независимости) не отвергается.
read), письму (write), естественным наукам (science), социальным наукам (socst) и математике (math). Все корелляции оказались положительными — что это означает?df_grades <- df[c('read','write','science','socst','math')]
cor(df_grades)
## read write science socst math
## read 1.0000000 0.5967765 0.6301579 0.6214843 0.6622801
## write 0.5967765 1.0000000 0.5704416 0.6047932 0.6174493
## science 0.6301579 0.5704416 1.0000000 0.4651060 0.6307332
## socst 0.6214843 0.6047932 0.4651060 1.0000000 0.5444803
## math 0.6622801 0.6174493 0.6307332 0.5444803 1.0000000
Вывод: Все корреляции положительны — это означает, что при увеличении любой оценки в среднем увеличивается и любая другая оценка.
abline.)fit <- lm(write ~ read, data=df)
print(summary(fit))
##
## Call:
## lm(formula = write ~ read, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.5447 -5.1225 0.6451 6.3259 15.4553
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 23.95944 2.80574 8.539 3.55e-15 ***
## read 0.55171 0.05272 10.465 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.625 on 198 degrees of freedom
## Multiple R-squared: 0.3561, Adjusted R-squared: 0.3529
## F-statistic: 109.5 on 1 and 198 DF, p-value: < 2.2e-16
plot(write ~ read, data=df)
abline(fit)
Коэффициент при read равен 0.5517051.
fit <- lm(science ~ read+write+socst+math, data=df)
summary(fit)
##
## Call:
## lm(formula = science ~ read + write + socst + math, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.5840 -4.6847 0.1514 4.1979 23.9641
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.56570 3.23144 2.651 0.00869 **
## read 0.30999 0.07291 4.252 3.29e-05 ***
## write 0.21492 0.07482 2.872 0.00453 **
## socst -0.02271 0.06455 -0.352 0.72528
## math 0.32181 0.07726 4.165 4.67e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.071 on 195 degrees of freedom
## Multiple R-squared: 0.5003, Adjusted R-squared: 0.49
## F-statistic: 48.8 on 4 and 195 DF, p-value: < 2.2e-16
Ответ: Все, кроме socst.
Ответ: Если зафиксировать оценки по остальным предметам, то знание оценки по socst не даст существенной информации об оценке по science.
Рассмотрим линейную регрессию, в которой зависимой переменной является оценка по чтению, а независимыми — оценка по письму и dummy-переменные, кодирующие переменную prog (программа обучения; не забудьте сконвертировать эту переменную в фактор с помощью as.factor). Найти коэффициенты регрессии. Что можно сказать об оценке по чтению у школьников, обучающихся по второй программе обучения по сравнению со школьниками, обучающимися по первой программе, исходя из результатов регрессии?
summary(lm(read ~ write + prog, data=df))
##
## Call:
## lm(formula = read ~ write + prog, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.8066 -5.6785 -0.1367 5.0873 22.1920
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 21.3723 3.6139 5.914 1.46e-08 ***
## write 0.5529 0.0664 8.327 1.41e-14 ***
## prog2 3.6839 1.4714 2.504 0.0131 *
## prog3 -1.0269 1.6822 -0.610 0.5423
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.052 on 196 degrees of freedom
## Multiple R-squared: 0.3926, Adjusted R-squared: 0.3833
## F-statistic: 42.22 on 3 and 196 DF, p-value: < 2.2e-16
Интерпретация: У студентов, обучающихся по второй программе обучения, intercept в регрессии, связывающей read и write на 3.68 больше, чем у студентов, обучающихся по первой программе обучения.
anova), проверить, различаются ли в целом средние оценки по письму для различных программ обучения на уровне значимости 1%?anova(lm(write ~ prog,data=df))
## Analysis of Variance Table
##
## Response: write
## Df Sum Sq Mean Sq F value Pr(>F)
## prog 2 3175.7 1587.85 21.275 4.31e-09 ***
## Residuals 197 14703.2 74.64
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
или
summary(aov(write ~ prog,data=df))
## Df Sum Sq Mean Sq F value Pr(>F)
## prog 2 3176 1587.8 21.27 4.31e-09 ***
## Residuals 197 14703 74.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Поскольку p-value очень маленькое, ответ: да, значимо различаются.
prcomp) к набору данных, содержащему оценки по всем указанным дисциплинам (и только им). Найти матрицу вращения (rotation matrix). Построить biplot. Что можно сказать о связи первой главной компоненты (PC1) с каждой из оценок? Как можно одним словом охарактеризовать, что показывает первая главная компонента? Какой вклад во вторую главную компоненту (PC2) дают оценки по естественным наукам и социальным наукам (обратите внимание на знаки элементов в матрице вращения)? Как можно одним словом охракатеризовать, что показывает вторая главная компонента?pca <- prcomp(df_grades)
print(pca)
## Standard deviations:
## [1] 18.298733 7.696309 6.228963 5.788821 5.443507
##
## Rotation:
## PC1 PC2 PC3 PC4 PC5
## read -0.4842440 0.07210494 -0.610371067 0.3010751 -0.5450776
## write -0.4220293 -0.08149798 0.780140611 0.1384605 -0.4329650
## science -0.4295910 0.58940457 -0.002049416 -0.6785747 0.0870973
## socst -0.4717551 -0.76107899 -0.123430847 -0.3265779 0.2762564
## math -0.4246148 0.24803223 0.059903362 0.5683887 0.6569081
biplot(pca, xlabs=rep('.', nrow(df)))
Выводы: В первую главную компоненту все оценки входят примерно с одинаковым весом, она меряет успеваемость (точнее, неуспеваемость, поскольку веса отрицательны). Во вторую главную компоненту оценки за socst и science входят с разными знаками, она меряет, по всей видимости, «уклон» школьника (гуманитарный или естественнонаучный).
as.dist и применить к ней кластерный анализ с помощью hclust. Построить соответствующую дендрограмму. Как переменные разбиваются в два самых больших кластера?dis <- 1-cor(df_grades)
plot(hclust(as.dist(dis)))
Самые большие кластеры: (
science, read, math) и (write, socst)
:)» или :-)) и краткой (только скобочки )))) в SMS-сообщениях в зависимости от года рождения отправителя. Гипотеза состоит в том, что люди с более поздним годом рождения (более молодые) чаще используют краткую форму. Мы проанализировали базу сообщений и для каждого абонента нашли число смайликов полной и краткой формы. (Пример гипотетический, данные вымышленные, ни одна SMS’ка при подготовке не пострадала.) Данные приведены в таблице. Проверить указанную гипотезу с помощью подходящей регрессии.df <- read.csv("http://math-info.hse.ru/f/2014-15/ling-r/smilies.dat")
fit <- glm(cbind(df$short, df$full) ~ year, data=df, family = binomial(link="logit"))
summary(fit)
##
## Call:
## glm(formula = cbind(df$short, df$full) ~ year, family = binomial(link = "logit"),
## data = df)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.8600 -1.7791 -0.8519 2.2407 2.4280
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -276.69989 49.10111 -5.635 1.75e-08 ***
## year 0.13900 0.02468 5.631 1.79e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 95.084 on 8 degrees of freedom
## Residual deviance: 37.940 on 7 degrees of freedom
## AIC: 60.125
##
## Number of Fisher Scoring iterations: 5
Вывод: Коэффициент при year значимый и положительный, значит, краткая форма (первый столбец) используется значимо чаще при увеличении года рождения.
Результат необходимо прислать по e-mail письмом с темой «ДЗ R 2014-15» на адрес ilya@schurov.com в виде файла Rmarkdown (рекомендуется) или просто R-скрипта с необходимыми комментариями. Дедлайн: 22 июня 2015, 12:00.