lab1

Author

Бондаренко Владислава OM-3

Task 1

rainfall_data <- read.csv('C:/Users/User/Desktop/study/hong_kong_observatory_rainfall.csv')
rainfall_data <- rainfall_data[, c('Year', 'TotalRainFall')]
summary(rainfall_data)
      Year      TotalRainFall   
 Min.   :1884   Min.   : 901.1  
 1st Qu.:1916   1st Qu.:1874.2  
 Median :1954   Median :2268.7  
 Mean   :1951   Mean   :2237.8  
 3rd Qu.:1986   3rd Qu.:2566.5  
 Max.   :2018   Max.   :3343.0  

Підрахувати показники центру: середнє значення, медіану.

m <- mean(rainfall_data$TotalRainFall)
m
[1] 2237.838
median(rainfall_data$TotalRainFall)
[1] 2268.65

Task 2

Підрахувати показники варіації: дисперсію, стандартне відхилення, коефіцієнт варіації, розмах варіації та інтерквартильний розмах.

var(rainfall_data$TotalRainFall)
[1] 224252.7
sd <- sd(rainfall_data$TotalRainFall)
sd
[1] 473.5533
rainfall_cv <- sd(rainfall_data$TotalRainFall)/mean(rainfall_data$TotalRainFall)
rainfall_cv
[1] 0.211612
diff(range(rainfall_data$TotalRainFall))
[1] 2441.9
IQR(rainfall_data$TotalRainFall)
[1] 692.225

Task 3

Побудувати ящик з вусами

boxplot(rainfall_data$TotalRainFall, ylab = 'total rainfall', main = 'ящик з вусами')

Task 4

Вивести п’ятиточкову характеристику

summary(fivenum(rainfall_data$TotalRainFall))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  901.1  1874.0  2268.7  2191.0  2568.3  3343.0 

Task 5

Знайти 1-й та 9-й децилі.

deciles <- quantile(rainfall_data$TotalRainFall, probs = seq(.1, .9, by = .1))
deciles[1]
    10% 
1673.85 
deciles[9]
   90% 
2819.3 

Task 6

Знайти коефіцієнт асиметрії та коефіцієнт ексцесу.

library(moments)
skewness(rainfall_data$TotalRainFall)
[1] -0.01099283
kurtosis(rainfall_data$TotalRainFall)
[1] 2.647612

Task 7

Побудувати гістограму, використовуючи різні методи групування (базове правило, правило Скотта, правило Фрідмана-Діаконіса). На тому ж графіку зобразити оцінку щільності та графік щільності гіпотетичного розподілу. Сформулювати вербально гіпотезу щодо типу розподілу, що спостерігається.

library(MASS)
hist(rainfall_data$TotalRainFall, main = 'histogram of rainfalls in hong kong')

hist.scott(rainfall_data$TotalRainFall, main = 'histogram of rainfalls in hong kong (scotts rule)')
lines(density(rainfall_data$TotalRainFall))

hist.FD(rainfall_data$TotalRainFall, main = 'histogram of rainfalls in hong kong (Freedman-Diaconis rule)')
lines(density(rainfall_data$TotalRainFall))

density(rainfall_data$TotalRainFall)

Call:
    density.default(x = rainfall_data$TotalRainFall)

Data: rainfall_data$TotalRainFall (128 obs.);   Bandwidth 'bw' = 161.5

       x                y            
 Min.   : 416.6   Min.   :2.176e-07  
 1st Qu.:1269.3   1st Qu.:2.684e-05  
 Median :2122.1   Median :1.951e-04  
 Mean   :2122.1   Mean   :2.929e-04  
 3rd Qu.:2974.8   3rd Qu.:6.191e-04  
 Max.   :3827.5   Max.   :7.514e-04  

Task 8

Зобразити Q-Q-діаграму для перевірки узгодженості з гіпотетичним розподілом.

qqnorm(rainfall_data$TotalRainFall, pch = 1, frame = FALSE) 
qqline(rainfall_data$TotalRainFall, col = "steelblue", lwd = 2)

Task 9

Зобразити P-P-діаграму для перевірки узгодженості з гіпотетичним розподілом.

plot(pnorm(sort(rainfall_data$TotalRainFall), m, sd), (1:length(rainfall_data$TotalRainFall))/length(rainfall_data$TotalRainFall), xlab="Теоретична функція розподілу", ylab="Емпірична функція розподілу")
abline(0, 1, col="red")

Task 10

За допомогою одного з статистичних критеріїв перевірити згоду з гіпотетичним розподілом.

shapiro.test(rainfall_data$TotalRainFall)

    Shapiro-Wilk normality test

data:  rainfall_data$TotalRainFall
W = 0.99274, p-value = 0.7526