Files
ZUT-notatki/uczelnia/2_semestr/matematyka_stosowana/laby/cz2/powtorzenie.R
2026-06-14 19:09:49 +02:00

702 lines
23 KiB
R
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#### === LAB 7 Zarządzanie danymi i elementami statystyki opisowej==== ####
# Ogólne manipulowanie zestawem danych
## Wyświetlenie podsumowania danych
### przed faktoryzacją
summary(Ankieta)
Ankieta$Płeć = factor(Ankieta$Płeć) # <- ustawiamy płeć jako zmienną kategorialną
### po faktoryzacji
summary(Ankieta)
Ankieta$Sysytem = factor(Ankieta$System)
Ankieta$M.zamieszkania = factor(Ankieta$M.zamieszkania)
Ankieta$Sz.średnia = factor(Ankieta$Sz.średnia)
Ankieta$Rodzeństwo = factor(Ankieta$Rodzeństwo)
## Dodanie kolumny
Ankieta$Średnia = round(((Ankieta$Algebra * 5 + Ankieta$Fizyka * 5 + Ankieta$Programowanie1 * 5 + Ankieta$MSzS1 * 5 + Ankieta$Algorytmy1 * 6 + Ankieta$WdI * 4) / 30), 2); # Po prostu wpisujemy co chcemy
## Skopiowanie kolumny z ocenami (subset)
Ankieta$Średnia = round(((Ankieta$Algebra * 5 + Ankieta$Fizyka * 5 + Ankieta$Programowanie1 * 5 + Ankieta$MSzS1 * 5 + Ankieta$Algorytmy1 * 6 + Ankieta$WdI * 4) / 30), 2); # select pozwala wybrac konkretne kolumny poprzez wektor
## Dodanie i likwidacja kolumny
Ankieta$Waga.dag = Ankieta$Waga * 100 # <- dodaje
Ankieta$Waga.dag = NULL # <- likwiduje
# Wykres ramka-wąsy
ggplot(Ankieta, aes(x=Ankieta$Płeć, y=Ankieta$Waga)) + geom_boxplot(fill='red', col='purple') # x – zmienna kategorialna, y – zmienna mierzalna
## funkcja
zakres3sigm = function(x) {
data.frame(lewy.kres=mean(x) - 3 * sd(x), prawy.kres=mean(x) + 3 * sd(x))
}
## Podzbiory
Ankieta.M = subset(Ankieta, Ankieta$Płeć == 'M')
Ankieta$L.g.kody = cut(Ankieta$L.godzin, breaks = c(0, 4, 8, 24), labels = c("krótko", "średnio", "długo"), include.lowest = TRUE)
table(Ankieta$L.g.kody)
#### === LAB 8 Parametry opisowe === ####
# zadanie 1
p.opisowe = function(wektor) {
library(moments)
srednia = round(mean(wektor), 2)
mediana = round(median(wektor), 2)
kwartyl_dolny = round(quantile(wektor, 1/4), 2)
kwartyl_gorny = round(quantile(wektor, 3/4), 2)
minimum = round(min(wektor), 2)
maximum = round(max(wektor), 2)
odchylenie = round(sd(wektor), 2)
rozstep_empiryczny = round(max(wektor) - min(wektor), 2)
rozstep_kwartylowy = round(IQR(wektor), 2)
wspolczynnik_zmiennosci = round(sd(wektor)/mean(wektor) * 100, 2)
skosnosc = round(skewness(wektor), 2)
kurtoza = round(kurtosis(wektor), 2)
rbind(srednia, mediana, kwartyl_dolny, kwartyl_gorny, minimum, maximum, odchylenie, rozstep_empiryczny, rozstep_kwartylowy, wspolczynnik_zmiennosci, skosnosc, kurtoza)
}
# zadanie 2
# współczynnik zmienności
# |V| <= 10% – słaba zmienność
# 10% < |V| <= 50% – umiarkowana zmienność
# |V| > 50% – duża zmienność
# skośność (współczynnik asymetrii)
# |G| <= 0.5 – słaba
# 0.5 < |G| < 1 – umiarkowana
# |G| > 1 – duża silna asymetria
# G < 0 – lewostronna
# G > 0 – prawostronna
# G = 0 – symetria (prawie się nie zdarza)
# kurtoza (współczynnik skupienia/spłaczszczenia)
# K = 3 – rozkład normalny
# K < 3 – niższe skupienie niż w rozkładzie normalnym
# K > 3 – wyższe skupienie niż w rozkładzie normalnym
# a)
p.opisowe(Ankieta$Wzrost)
# kwartyl_dolny 174.00 – wzrost 25% mężczyzn nie przekroczył 174
# odchylenie 7.16 – wzrost mężczyzn odchylał się od średniej wzrostu przeciętnie o około 7.16
# wspolczynnik_zmiennosci 3.98 – udział odchylenia standardowego wzrostu w wartości średniej wynosi 3.98 co świadczy o tym, że mężczyźni są słabo zróżnicowani pod względem wzrostu
# skosnosc 0.20 – rozkład wzrostu mężczyzn charakteryzuje się słabą asymetrią prawostronną
# b)
p.opisowe(Ankieta$Średnia)
# mediana 3.80 – średnia 50% studentów w badanej grupie nie przekroczyla 3.80
# kwartyl_gorny 4.24 – średnia 75% studentów w badanej grupie nie przekroczyla 4.24
# c)
p.opisowe(Ankieta$L.godzin)
# srednia 7.07 czas spędzany przy komputerze w badanej grupie skupiał się wokół wartości 7.07
# kurtoza 2.55 rozklad czasu spędzanego przy komputerze w badanej grupie charakteryzuje się niższym skupieniem wokół średniej wagi niż w rozkładzie normalnym.
# zadanie 3
przedzial.odchylenie = function(x, uf) {
# 1 - a = uf
# a = 1 - uf
a = 1 - uf
n = length(x)
ss_z_daszkiem = var(x)
# s^2 = (n - 1)/n * ss_z_daszkiem
ss = (n - 1)/n * ss_z_daszkiem
dolna = sqrt((n * ss) / qchisq(1 - (a / 2), n - 1))
gorna = sqrt((n * ss) / qchisq(a / 2, n - 1))
round(cbind(dolna, gorna), 4)
}
przedzial.odchylenie(Ankieta.M$Wzrost, 0.95)
# zadanie 4
# a)
ggplot(data.frame(x=c(-4, 4)), aes(x))+ylab('Gęstość rozkładu studenta')+ stat_function(fun=dt, args=1, col='red', size=1) + stat_function(fun=dt, args=2, col='pink', size=1) + stat_function(fun=dt, args=10, col='green', size=1) + stat_function(fun=dt, args=50, col='blue', size=1)
# b)
ggplot(data.frame(x=c(-1, 100)), aes(x))+ylab('Gęstość rozkładu chi kwadrat') + stat_function(fun=dchisq, args=5, col='red', size=1) + stat_function(fun=dchisq, args=10, col='blue', size=1) + stat_function(fun=dchisq, args=20, col='green', size=1) + stat_function(fun=dchisq, args=50, col='pink', size=1)
#### === LAB 9 Estymacja i testowanie hipotez dla jednej populacji === ####
# zadanie 1
# a)
# założenie: normalność rozkładu – test shapiro-wilka
# hipoteza podstawowa h0 – rozkład wzrostu w populacji mężczyzn jest normalny
# hipoteza h1 – nieprawda, że h0
shapiro.test(Ankieta.M$Wzrost)
# Statystyka testowa W = 0.9598, p-value = 0.04048
# alpha = 0.01 # poziom istotności
# wniosek alpha < p-value, więc na poziomie istotności 0.01 nie ma podstaw do odrzucenia h0, że rozkład wzrostu w populacji mężczyzn jest zgodny z rozkładem normalnym.
# b)
# przedzial ufności dla wartości średniej w populacji (mężczyzn)
t.test(Ankieta.M$Wzrost, conf.level = 0.95)
# 178.0049 181.6403
# interpretacja: przedział liczbowy od 178.0049 do 181.6403 z prawdopodobieństwem 0.95 obejmuje nieznaną wartość średnią wzrostu w populacji mężczyzn studiujących na pierwszym roku WI ZUT w Szczecinie w tym roku akademickim (2025/2026)
t.test(Ankieta.M$Wzrost, conf.level = 0.98)
# 177.6509 181.9942
przedzial.odchylenie(Ankieta.M$Wzrost, 0.97)
# 5.9801 8.8895
# interpretacja: przedzial o końcach 5.9801 i 8.8895 [cm] z ufnością 0.97 obejmuje rzeczywistą wartość odchylenia standardowego wzrostu w populacji mężczyzn studiujących na pierwszym roku WI ZUT w Szczecinie w tym roku akademickim.
# d)
# test dla wartości średniej w populacji
# hipoteza h0: m = 180
# hipoteza h1: m > 180
t.test(Ankieta.M$Wzrost, mu = 180, alternative = 'g')
# statystyka testowa t = -0.19518, df = 61, p-value = 0.577
# alpha = 0.01
# alpha < p-value, więc
# na poziomie istotności 0.01 nie ma podstaw do odrzucenia hipotezy h0. Nie można zatem potwierdzić hipotezy, że średni wzrost mężczyzn w badanej populacji jest większy niż 180 cm.
table(Ankieta$Sz.średnia)
# LO(RM) = 22
# a)
# przedział ufności dla odsetka (wskaźnika struktury, frakcji, procentu, proporcji)
prop.test(22, 72, conf.level = 0.98)
# 0.1909 0.4489
# te końce nie mają jednostek!
# interpretacja: przedział o końcach 0.1909 i 0.4489 z ufnością 0.98 obejmuje rzeczywistą wartość odsetka osób, które ukończyły LO(RM) w badanej populacji.
# b)
# test dla wskaźnika struktury
# hipoteza h0: p = 45%
# hipoteza h1: p < 45%
prop.test(22, 72, p = 0.45, alternative = 'l')
# statystyka testowa – X-squared = 5.5, df = 1, p-value = 0.009508
# alpha = 0.05
# alpha > p-value, więc
# odrzucamy h0
# Alpha jest większa niż p-value, więc na poziomie istotności 0.05 odrzucamy hipotezę h0 i przyjmujemy h1, zatem odsetek osób, które ukończyły LO(RM) w badanej populacji studentów jest istotnie mniejszy, niż 45%.
# zadanie 3
# a)
# hipoteza h0: rozkład wagi w populacji kobiet jest normalny
# hipotezea h1: rozkład wagi w populacji kobiet nie jest normalny
shapiro.test(Ankieta.K$Waga)
# W = 0.94975, p-value = 0.6656
# alpha = 0.05
# alpha < p-value, więc
# na poziomie istotności 0.05 nie ma podstaw do odrzucenia h0, że rozkład wagi w populacji kobiet jest normalny
# b)
t.test(Ankieta.K$Waga, conf.level = 0.98)
# 49.34915 63.85085
# interpretacja: przedział o końcach 49.34915 i 63.85085 [kg] z ufnością 0.98 zawiera rzeczywistą wartość średniej wagi w populacji wszystkich kobiet studiujących na I roku WI
# zadanie 4
# a)
table(Ankieta$M.zamieszkania)
# akademik = 23
prop.test(23, 72, conf.level = 0.995)
# 0.1842 0.4918
# interpretacja: przedział o końcach 0.1842 i 0.4918 z ufnością 0.995 obejmuje rzeczywistą wartość odestka osób, które mieszkają w akademiku podczas studiowania na pierwszym roku kierunku informatyka na WI ZUT w Szczecinie w tym roku akademickim
# b)
# hipoteza h0: p = 0.35
# hipoteza h1: p != 0.35
prop.test(23, 72, p = 0.35, alternative = 'two.sided')
# X-squared = 0.17643, df = 1, p-value = 0.6745
# alpha = 0.05
# alpha < p-value, więc
# odrzucamy h0
# wniosek: Alpha jest mniejsze, niż p-value, więc nie ma podstaw do odrzucenia h0, że odsetek osób, które mieszkają w akademiku w populacji wszystkich studentów I roku na WI różnie się istotnie od 35%
#### === LAB 10 === Testowanie hipotez dla dwóch populacji oraz test dla prób zależnych ####
# zadanie 1
# Próby niezależne
# a)
# założenie 1: normalność rozkładów
# h0 – rozkład średnich ocen w populacji studentek jest normalny
# h1 – ~h0
# h0' – rozkład średnich ocen w populacji studentów jest normalny
# h1' – ~h0'
by(Ankieta$Średnia, Ankieta$Płeć, shapiro.test)
# dla kobiet: W = 0.97625, p-value = 0.942
# dla mężczyzn: W = 0.97148, p-value = 0.1578
# aplha = 0.01
# w obu przypadka alpha < p-value
# brak podstaw do odrzucenia h0 i h0'
# b)
# h0 – jednorodność wariancji sigma.k^2 = sigma.m^2
# h1 – ~h0
var.test(Ankieta$Średnia ~ Ankieta$Płeć)
# F = 0.40623, num df = 9, denom df = 61, p-value = 0.1459
# alpha = 0.01
# Wniosek: brak podstaw do odrzucenia h0
# będziemy stosować test bez poprawki welcha
# wariancje jednorodne = bez poprawki welcha
# c)
# h0 – m.kobiet = m.mężczyzn
# h1 – m.kobiet > m.mężczyzn
t.test(Ankieta$Średnia ~ Ankieta$Płeć, alternative = 'g', var.equal = TRUE)
# t = -0.49177, df = 70, p-value = 0.6878
# alpha = 0.01
# Wniosek: Na poziomie istotności 0.01 nie ma podstaw do odrzucenia hipotezy h0, zatem wyniki próby nie potwierdzają przypuszczenia, że średnie oceny studentek są wyższe niż studentów studiujących na I roku WI na ZUT w Szczecinie w tym roku akademickim.
# Zadanie 2
# alpha = 0.05
# Test dla dwóch wskaźników struktury
# grupy:
# 1 – grupa mieszkających z rodziną
# 2 – grupa mieszkających poza domem rodzinnym
# wyróżniona cecha: absolewnci TI
# Hipotezy:
# h0 – p1 = p2
# h1 – p1 < p2
table(Ankieta$M.zamieszkania, Ankieta$Sz.średnia)
prop.test(c(15, 20), c(32, 40), alternative = 'l')
# X-squared = 0.00069498, df = 1, p-value = 0.4895
# aplha = 0.05
# Wniosek: na poziomie istotności 0.05 nie można odrzucić hipotezy h0. Zatem odsetki osób, które ukończyły TI nie różnią się istotnie dla mieszkających podczas studiowania z rodziną oraz dla mieszkających poza domem rodzinnym.
# Zadanie 3
# próby zależne
# alpha = 0.01
# założenie: normalność różnicy zmiennych
# h0 – rozkład różnicy zmiennych jest normalny
# h1 – ~h0
x1 = c(225, 236, 312, 238, 241, 196, 205, 259, 218)
x2 = c(216, 195, 245, 235, 221, 170, 180, 265, 179)
shapiro.test(x1 - x2)
# W = 0.96898, p-value = 0.8858
# Wniosek: brak podstaw do odrzucenia h0
# test studenta dla dwóch średnich – próby zależne
# h0 – m1 - m2 = 0
# h1 – m1 - m2 > 0
t.test(x1, x2, paired = T, alternative = 'g')
# t = 3.3633, df = 8, p-value = 0.004942
# Wniosek: na poziomie isotności 0.01 odrzucamy h0 i przyjmujemy h1, zatem leczenie statynami istotnie wpływa na obniżenie poziomu cholesterolu.
# Zadanie 4
# normalność rozkładów -> jednorodność wariancji -> właściwy test
# aplha = 0.01
# założenie 1: normalność rozkładów
# h0 – średni wzrost w populacji studentek jest normalny
# h1 – ~h0
# h0' – średni wzrost w populacji studentów jest normalny
# h1 – ~h0'
by(Ankieta$Wzrost, Ankieta$Płeć, shapiro.test)
# dla kobiet: W = 0.95432, p-value = 0.7197
# dla mężczyzn: W = 0.9598, p-value = 0.04048
# brak podstaw do odrzucenia h0 i h0'
# założenie 2: jednorodność wariancji
# h0 – jednorodność wariancji k.sigma^2 = m.sigma^2
# h1 – ~h0
var.test(Ankieta$Wzrost ~ Ankieta$Płeć)
# F = 1.2842, num df = 9, denom df = 61, p-value = 0.528
# brak podstaw do odrzucenia h0
# będziemy stosować test bez poprawki welcha
# h0 – m.kobiet = m.mężczyzn
# h1 – m.kobiet ≠ m.mężczyzn
t.test(Ankieta$Wzrost ~ Ankieta$Płeć, alternative = 'two.sided', var.equal = T)
# t = -5.2844, df = 70, p-value = 1.36e-06
# Na poziomie istotności 0.01 odrzucamy h0 i przyjmujemy h1.
# zadanie 8
# alpha = 0.02
# założenie 1: normalność rozkładu
# h0 – rozkład średnich ocen w grupie posiadającej rodzeństwo jest normalny
# h1 – ~h0
# h0' – rozkład średnich ocen w grupie nieposiadającej rodzeństwa jest normalny
# h1' – ~h0'
by(Ankieta$Średnia, Ankieta$Rodzeństwo, shapiro.test)
# nieposiadający rodzeństwa: W = 0.93477, p-value = 0.3929
# posiadający rodzeństwo: W = 0.97486, p-value = 0.26
# brak podstaw do odrzucenia h0 i h0'
# założenie 2: jednorodność wariancji
# h0 – jednorodność wariancji n.sigma^2 = t.sigma^2
# h1 – ~h0
var.test(Ankieta$Średnia ~ Ankieta$Rodzeństwo)
# F = 0.80082, num df = 12, denom df = 58, p-value = 0.704
# brak podstaw do odrzucenia h0
# test bez poprawki welcha
# h0 – m.z_rodzeństwem = m.bez_rodzeństwa
# h1 – m.z_rodzeństwem ≠ m.bez_rodzeństwa
t.test(Ankieta$Średnia ~ Ankieta$Rodzeństwo, alternative = 'two.sided', var.equal = T)
# t = -0.61915, df = 70, p-value = 0.5378
# wniosek: na poziomie istotności 0.02 brak podstaw do odrzucenia h0, że średnia ocen osób posiadających rodzeństwo nie różni istotnie od średniej osób nieposiadających rodzieństwa w badanej grupie.
#### === LAB 11 === Testy dla populacji > 3####
# zadanie 1
# zmienna mierzalna
plony = c(2.6, 2.4, 2, 1.8, 2.2, 1.5, 1.5, 1.4, 1.2, 1.5, 1.2, 1.5, 0.8, 1)
# zmienna grupująca
kombinacje = c(rep('1', 5), rep('2', 4), rep('3', 5))
## Normalność rozkładów
### (wariant skrócony)
by(plony, kombinacje, shapiro.test)
# kombinacja 1: W = 0.98676, p-value = 0.9672
# kombinacja 2: W = 0.82743, p-value = 0.1612
# kombinacja 3: W = 0.90345, p-value = 0.4292
# Brak podstaw do odrzucenia hipotez zerowych
## Jednorodność wariancji
# h0: sigma^2 = (sigma.2)^2 = (sigma.3)^2
# h1: ~h0
bartlett.test(plony ~ kombinacje)
# Bartlett's K-squared = 1.8396, df = 2, p-value= 0.3986
# alpha < p-value – Brak podstaw do odrzucenia h0
## Test anova
# h0: m.1 = m.2 = m.3 (brak wpływu)
# h1: ~h0 (istotny wpływ)
anova(aov(plony ~ kombinacje))
# Response: plony
# Df Sum Sq Mean Sq F value Pr(>F)
# kombinacje 2 2.7571 1.37857 18.053 0.0003356 ***
# Residuals 11 0.8400 0.07636
# F: 18.053 p-value: 0.0003356
# Odrzucamy h0, przyjmujemy h1, nawóz ma istotny wpływ
# Wniosek: na poziomie istotności 0.05 odrzucamy h0 i przyjmujemy h1, zatem nawożenie istotnie wpływa na plony rzepaku jarego.
# Zadanie 2
# Jedna próba
## Test normalności rozkładu
# wariant skrócony
shapiro.test(Ankieta.M$Waga)
# W = 0.94653, p-value = 0.009113
# Odrzucamy h0
# Test nieparametryczny Wilcoxona
# h0: mediana = 70
# h1: mediana > 70
wilcox.test(Ankieta.M$Waga, mu = 70, alternative = 'g')
# V = 1129.5, p-value = 0.008091
# Wniosek: na poziomie istotności 0.05 odrzucamy h0 i przyjmujemy h1. Zatem mediana wagi populacji mężczyzn studiujących na I roku WI ZUT w Szczecinie jest istotnie większa od 70kg.
# Zadanie 3
# Dwie niezależne próby
utargi = c(7.6, 12.0, 7.3, 11.3, 7.0, 10.8, 6.5, 8.1, 3.2, 8.7, 8.8, 11.7, 12.7, 18.5, 3.3, 6.7, 8.6, 6.9, 3.8, 3.7) # zmienna mierzalna
miasta = c(rep('A', 13), rep('B', 7)) # zmienna grupująca
## Normalność rozkładu
# wariant skrócony
by(utargi, miasta, shapiro.test)
# Miasto A: W = 0.94565, p-value = 0.5341
# Brak podstaw do odrzucenia h0
# Miasto B: W = 0.76886, p-value = 0.01989
# Odrzucamy h0
# Wniosek: odrzucamy hipotezę, że rozkład miesięcznego utargu w mieście B jest zgodny z rozkładem normalnym.
## Test nieparametryczny wilcoxona
# h0: mediana.A = mediana.B
# h1: mediana.A > mediana.B
wilcox.test(utargi ~ miasta, alternative = 'g')
# W = 65, p-value = 0.0674
# brak podstaw do odrzucenia h0
# Wniosek: Na poziomie istotności 0.05 nie ma podstaw by odrzucić hipotezę h0. Mediany utargów w mieście A i B nie różnią się istotnie.
# Zadanie 4
# Dwie zależne próby
x1 = c(85, 122, 162, 206, 121, 250, 200, 156)
x2 = c(87, 82, 158, 96, 131, 121, 194, 130)
## Normalność rozkładu różnicy zmiennych
# wariant skrócony
shapiro.test(x1 - x2)
# W = 0.81838, p-value = 0.04487
# Wniosek: odrzucamy h0
## Test nieparametryczny Wilcoxona: próby zależne
# h0: mediana1 - mediana2 = 0
# h1: mediana1 - mediana2 > 0
wilcox.test(x1, x2, paired = T, alternative = 'g')
# V = 31, p-value = 0.03906
# Odrzucamy h0 i przyjmujemy h1
# Wniosek: na poziomie istotności 0.05 odrzucamy h0 i przyjmujemy h1, zatem trening istotnie wpływa na skrócenie czasu potrzebnego myszom na wyjście z labiryntu.
# Zadanie 5
frewkencja = c(32.5, 40.8, 41.7, 41.2, 37.9, 38.3, 42, 39.8, 43.1, 42.6, 38.9, 43.1, 40.4, 41.8, 42, 39, 43.7, 40, 39.7, 43, 43.1, 43.9, 44.2, 45.2, 44.6, 42.5, 43.4, 44.8, 42.8, 43.1, 44.8, 45)
miasta = c(rep('Wroclaw', 10), rep('Warszawa', 11), rep('Krakow', 11))
# alhpa = 0.05
# 3 próby
## Jednorodność wariancji
# h0: sigma^2 = (sigma.2)^2 = (sigma.3)^2
# h1: ~h0
bartlett.test(frewkencja ~ miasta)
# Bartlett's K-squared = 11.774, df = 2, p-value = 0.002775
# aplha > p-value
# odrzucamy h0, przyjmujemy h1
# h0: mediana.1 = mediana.2 = mediana.3
# h1: ~h0
kruskal.test(frewkencja ~ miasta)
# Kruskal-Wallis chi-squared = 16.791, df = 2, p-value = 0.0002259
# alpha > p-value
# odrzucamy h0 i przyjmujemy h1
# Wniosek: na poziomie istotności 0.05 odrzucamy h0 i przyjmujemy h1, zatem frekwencja w wyborach prezydenckich dla wszystkich tych miast nie jest taka sama.
# Zadanie 8
# 3 próby
# alpha = 0.01
## Test normalności
# wariant skrócony
by(Ankieta$L.godzin, Ankieta$M.zamieszkania, shapiro.test)
# akademik: W = 0.96227, p-value = 0.5107
# mieszkanie z rodziną: W = 0.98145, p-value = 0.8405
# stancja lub inne: W = 0.95429, p-value = 0.5278
# W każdej próbce brak podstaw do odrzucenia h0
## Test jednorodności wariancji
# h0: sigma.0^2 = (sigma.1)^2 = (sigma.2)^2
# h1: ~h0
bartlett.test(Ankieta$L.godzin ~ Ankieta$M.zamieszkania)
# Bartlett's K-squared = 0.47545, df = 2, p-value = 0.7884
# alpha < p-value
# brak podstaw do odrzucenia h0, zatem wariancje są jednorodne
# h0: m0 = m1 = m2 (brak wpływu)
# h1: ~h0 (istotny wpływ)
anova(aov(Ankieta$L.godzin ~ Ankieta$M.zamieszkania))
# F - 0.5896 p-value 0.5573
# alpha < 0.5573
# brak podstaw do odrzucenia h0
# Wniosek: Na poziomie istotności 0.01 nie ma podstaw do odrzucenia h0, zatem liczba godzin spędzonych przed komputerem w ciągu doby w popuplacji studentów pierwszego roku WI ZUT w Szczecinie w tym roku akademickim nie zależy od miejsca zamieszkania.
#### === LAB 12 === Korelacja i regresja, test niezależności chi kwadrat ####
# zadanie 1
# a)
# dwie zmienne mierzalne
x = c(150, 300, 450, 600, 750, 900, 1200, 1500, 1800) # wysokość nad poziomem morza w metrach, zmienna niezależna
y = c(27.2, 26.0, 24.2, 22.5, 21.7, 20.5, 19.0, 17.4, 16) # temperatura powietrza w stopniach celcjusza, zmienna zależna
plot(x, y) # wykres punktów empirycznych
lm(y ~ x) # oszacowanie liniowej funkcji regresji
# 27.322424 -0.006719
# oszacowana funkcja regresji ma: y = -0.006719x + 27.322424
# interpretacja współczynnika regresji: współczynnik regresji równy -0.007 oznacza, że ze wzrostem wysokości nad poziomem morza o jeden metr spada temperatura powietrza średnio o około 0.007 stopnia celcjusza.
abline(lm(y ~ x)) # wykres oszacowanej funkcji regresji
# b)
# istotność współczynnika regresji
# hipotezy:
# h0: ϐ1 = 0
# h1: ~h0
summary(lm(y ~ x))
# Estimate Std. Error t value Pr(>|t|)
# wyraz wolny: (Intercept) 27.3224242 0.4507429 60.62 8.73e-11 ***
# dla x: x -0.0067192 0.0004513 -14.89 1.48e-06 ***
# t = -14.89
# p-value = 1.48e-06
# alpha = 0.03
# odrzucamy h0
# Wniosek: Współczynnik regresji między wysokością nad poziomem morza, a temperaturą jest istotnie różny od zera.
# (na kolokwium tylko współczynnik regresji, interpretacja, test)
# zadanie 2
# dwie cechy mierzalne
#a) oszacować współczynnik koleracji i jego interpretacje
cor(Ankieta.K$Waga, Ankieta.K$Wzrost)
# 0.6351466
# Intepretacja współczynnika korelacji: Pomiędzy wagą i wzrostem studentek w badanej grupie istnieje umiarkowana korelacja dodatnia czyli im wyższa osoba tym średnio biorąc większa waga.
# umiarkowana, w tym samym kierunku
# r=0 brak korelacji
# 0<|r|<0.2 bardzo słaba
# 0.2<=|r|<0.4 słaba
# 0.4<=|r|<0.7 umiarkowana
# 0.7<=|r|<0.9 silna
# 0.9<=|r|<1 bardzo silna
# |r|=1 doskonała liniowa
# r > 0 cechy zmieniają się w tym samym kierunku
# r < 0 cechy zmieniają się w przeciwnych kierunkach
# b) przedział ufności dla współczynnika korelacji dla populacji ϱ
cor.test(Ankieta.K$Waga, Ankieta.K$Wzrost, conf.level = 0.95)
# 0.009199008 0.903470512
# Przedział liczbowy od (0.009; 0.903) z prawdopodobieństwem 0.95 obejmuje nieznany współczynnik korelacji między wagą i wzrostem populacji studentek I roku WI ZUT w Szczecinie.
# c) test istotności współczynnika korelacji
# hioptezy:
# h0: ϱ = 0
# h1: ϱ > 0
cor.test(Ankieta.K$Waga, Ankieta.K$Wzrost, alternative = 'g')
# t = 2.3258, df = 8, p-value = 0.02424
# alpha = 0.05
# Odrzucamy h0
# Wniosek: Przy poziomie istotności 0.05 odrzucamy h0, zatem współczynnik korelacji jest istotnie większy od 0.
# Zadanie 3
# dwie cechy niemierzalne
# alpha = 0.01
# hipotezy:
# h0: X, Y są niezależne | zawsze niezależność
# h1: X, Y są zależne
chisq.test(cbind(c(152, 52), c(8, 188)))
# X-squared = 203.67, df = 1, p-value < 2.2e-16
# odrzucamy h0 i przyjmujemy h1
# Wniosek: na poziomie istotności 0.01, zatem można potwierdzić przypuszczenie, że wielkość cebulki wpływa na pojawienie się pędu kwiatostanowego.
# zad 5 c i d | dwie zmienne mierzalne
# wielkość produkcji niezależna
# liczba braków zależna
x = c(0.8, 1.2, 1.6, 1.8, 2.2, 1.6, 2.4, 2.0) # wielkość produkcji w tys. sztuk
y = c(6, 10, 12, 15, 18, 15, 20, 16) # liczba braków
# c)
plot(x, y)
regresja = lm(y ~ x)
# -0.3438 8.4375
# y = 8.4375x - 0.3438
abline(regresja)
# Interpretacja: współczynnik regresji równy 8.4375 oznacza, że wzrostem liczby wielkości produkcji o 1 tys. zwiększa się liczba braków o około 8 sztuk.
# d)
# istotność współczynnika regresji
# hipotezy:
# h0: beta1 = 0
# h1: ~h0
summary(regresja)
# t = 12.425
# p-value = 1.66e-05
# alpha = 0.01
# alpha > p-value, odrzucamy h0
# Wniosek: Współczynnik korelacji między wielkością produkcji, a liczbą braków jest istotnie różny od 0.