-
Notifications
You must be signed in to change notification settings - Fork 0
/
hw_1.Rmd
81 lines (57 loc) · 4.35 KB
/
hw_1.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
title: "hw_1"
author: "Ответ Ответович Ответов"
output: html_document
---
```{r, message=FALSE}
library(tidyverse)
```
Это [rmarkdown](https://rmarkdown.rstudio.com/) документ. Чтобы его скомпилировать, можно нажать в RStudio кнопку Knit. Вставьте ваше имя в заголовок, а код в соответствующие фрагменты, выделенные знаками `.
## task 1.1
Дан график логнормального распределения с лог-средним 3 и лог-стандартным отклонением 0.5. Посчитайте закрашенную площадь под кривой. В ответе выведите в консоль значение с точностью до трех знаков после запятой.
![](task_1.1.png)
```{r}
lower <- qlnorm(0.1, mean = 3, sd = 0.5)
upper <- qlnorm(0.9, mean = 3, sd = 0.5)
res <- plnorm(upper, mean = 3, sd = 0.5) - plnorm(lower, mean = 3, sd = 0.5)
round(res, 3)
```
или так
```{r}
integrate(function(x){dlnorm(x, 3, 0.5)},
qlnorm(0.1, mean = 3, sd = 0.5),
qlnorm(0.9, mean = 3, sd = 0.5))$value %>%
round(3)
```
## task 1.2
В работе [Moroz, Verhees 2019] исследовалась вариативность классовой атрибуции в андийском языке и выяснилось, что 9 носителей относят слово *бабочка* к классу *b* и 7 носиителей относят слово к классу *r*. В новой итерации эксперимента 38 носителей отнесли слово *бабочка* к классу *b* и 6 носителей отнесли слово к классу *r*. Визуализируйте функцию правдоподобия и посчитайте какой из вариантов, заданный функцией `seq(0, 1, by = 0.01)`, имеет наибольшее значение функции правдоподобия.
![](task_1.2.png)
```{r}
p <- seq(0, 1, by = 0.01)
tibble(p) %>%
ggplot(aes(p)) +
stat_function(fun = function(p) dbinom(9, 9+7, p)*dbinom(38, 38+6, p))+
labs(x = "оценка биномиальным распределением вероятности слова бабочка быть класса b",
y = "значение функции правдоподобия\n(два эксперимента)")
values <- dbinom(9, 9+7, p) * dbinom(38, 38+6, p)
i <- which.max(values)
p[i]
```
## task 1.3
[В датасете](https://afbo.info/pairs.csv?sEcho=1&iSortingCols=1&iSortCol_0=0&sSortDir_0=asc) собраны данные из базы данных [AfBo](https://afbo.info/). В этой базе данных собрана информация о том, какие языки из каких языков заимствовавали суффиксы. Скачайте данные, отфильтруйте ниболее достоверные значения (т. е. такие, чтобы в переменной `reliability` было значение `high`), воспользуйтесь методом максимального правдоподобия, чтобы оценить параметры экспоненциального распределения (смотрите справку командой `?dexp`), описывающего распределение количества заимствованных суфиксов (переменная `count_borrowing`), а потом визуализируйте данные и найденное распределение.
![](task_1.3.png)
```{r}
library(fitdistrplus)
```
```{r}
read_csv("https://afbo.info/pairs.csv?sEcho=1&iSortingCols=1&iSortCol_0=0&sSortDir_0=asc") %>%
filter(reliability == "high") ->
afbo_filtered
exp <- fitdist(afbo_filtered$count_borrowed, distr = "exp", method = "mle")
afbo_filtered %>%
ggplot(aes(count_borrowed))+
geom_histogram(aes(y = ..density..))+
stat_function(fun = dexp, args = exp$estimate, color = "red")
```
## task 1.4
Место для рефлексии по поводу ответов. Заполняется после того, как присланы ответы на задания до 13.02.2021 23:59. Это оцениваемое задание.