Статистические вычисления
Задание 1
Выведите среднее и медиану по ряду vec <- rnorm(100, mean = 5, sd =2)
. Для генерации используйте зерно 1234.
Задание 2
Выведите метрики изменчивости (размах, дисперсия, стандартное отклонение) для вектора vec
.
Задание 3
Выведите значения квартилей вектора vec
(0% и 100% в том числе).
quantile(vec)
## 0% 25% 50% 75% 100%
## 0.3086046 3.2093455 4.2307441 5.9424121 10.0979821
Задание 4
Выведите процентили вектора vec
, до 75% включительно с шагом 25%, далее до 95% с шагом в 5% и далее с шагом в 1%. Значения округлите до второго знака.
Задание 5
Выведите базовые описательные статистики (среднее, медиана, квартили, размах).
Можно собрать статистики из отдельных функций, однако проще воспользоваться summary()
.
summary(vec)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.3086 3.2093 4.2307 4.6865 5.9424 10.0980
Задание 6
Посчитайте, какова вероятность получить при стандартном нормальном распределении значение 2.25, или большее?
1 - pnorm(2.25)
## [1] 0.01222447
Задание 7
Какое значение при стандартном нормальном распределении соответствует 80 процентилю?
dnorm(0.8)
## [1] 0.2896916
Задание 8
В датасете sleep
представлены результаты классического эксперимента о влиянии снотворных на длительность сна. Колонка group
- идентификаторы тестовой и контрольной групп, 2 и 1 соответственно). Колонка extra
- изменение в количестве часов сна. ID
- идентификатор испытуемого в группе.
Проверьте, влияют ли снотворные на изменение длительности сна. Исходите из предположения, что данные распределены нормально и используйте t-тест.
t.test(extra ~ group, data = sleep)
##
## Welch Two Sample t-test
##
## data: extra by group
## t = -1.8608, df = 17.776, p-value = 0.07939
## alternative hypothesis: true difference in means between group 1 and group 2 is not equal to 0
## 95 percent confidence interval:
## -3.3654832 0.2054832
## sample estimates:
## mean in group 1 mean in group 2
## 0.75 2.33
Задание 9
Результат теста запишите в отдельный объект ttest_result
. Выведите отдельно из полученного ttest_result
значения t
и p-value
.
ttest_result <- t.test(extra ~ group, data = sleep, )
ttest_result$statistic
## t
## -1.860813
ttest_result$p.value
## [1] 0.07939414
Задание 10
Сгенерируйте два вектора, x
- длиной в 1000 значений, выборка из нормального распределения с параметрами mean = 3
и sd = 1
. Второй вектор, y
- так же длиной в 1000 значений, по формуле 5 * x + runif(1000)
. Постройте и выведите регрессионную модель взаимосвязи x
и y
, результат запишите в объект model
.
Задание 11
Выведите сводные статистики (summary) по модели.
summary(model)
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.54180 -0.24022 -0.00349 0.25372 0.50943
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.514338 0.009117 56.42 <2e-16 ***
## x 4.982245 0.009231 539.75 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2882 on 998 degrees of freedom
## Multiple R-squared: 0.9966, Adjusted R-squared: 0.9966
## F-statistic: 2.913e+05 on 1 and 998 DF, p-value: < 2.2e-16
Задание 12
Выведите таблицу коэффициентов модели.
model_summary <- summary(model)
model_summary$coefficients
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.5143383 0.009116617 56.41767 1.025891e-312
## x 4.9822454 0.009230652 539.75014 0.000000e+00
Задание 13
Выделите остатки и проверьте их распределение на соответствие нормальному (shapiro.test()
).
y_hat <- model_summary$residuals
shapiro.test(y_hat)
##
## Shapiro-Wilk normality test
##
## data: y_hat
## W = 0.95793, p-value = 2.362e-16
Задание 14
Создайте вектор z <- rlnorm(1000)
и повторите задания 10-11, с учетом y = 5 * x + 3 * z + runif(1000)
.
##
## Call:
## lm(formula = y ~ x + z)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.52452 -0.25760 0.01424 0.24813 0.50214
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.508790 0.011552 44.04 <2e-16 ***
## x 4.988451 0.009198 542.32 <2e-16 ***
## z 2.995065 0.004162 719.58 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2872 on 997 degrees of freedom
## Multiple R-squared: 0.9988, Adjusted R-squared: 0.9988
## F-statistic: 4.132e+05 on 2 and 997 DF, p-value: < 2.2e-16
Задание 15
На данных из предыдущего задания проверьте, значима ли взаимосвязь y
и взаимодействия переменных x
и z
.
##
## Call:
## lm(formula = y ~ x * z)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.52712 -0.25504 0.01309 0.24959 0.50353
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.508755 0.011557 44.023 <2e-16 ***
## x 4.984867 0.011900 418.895 <2e-16 ***
## z 2.995038 0.004164 719.230 <2e-16 ***
## x:z 0.002173 0.004574 0.475 0.635
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2873 on 996 degrees of freedom
## Multiple R-squared: 0.9988, Adjusted R-squared: 0.9988
## F-statistic: 2.752e+05 on 3 and 996 DF, p-value: < 2.2e-16