Compare commits

..

2 Commits

Author SHA1 Message Date
4951da8fd9 Merge branch 'master' of github.com:szymon-jozef/ZUT-notatki 2026-06-14 19:09:56 +02:00
2237683c00 hehehehe 2026-06-14 19:09:49 +02:00
19 changed files with 768 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
# Logika
- Prawo de'morgana przy negacji alternatywy lub koniunkcji zamieniamy też ze sobą działania
- suma indeksowanej rodziny zbiorów elementy które występują w co najmniej jednym
- iloczyn indeksowanej rodziny zbiorów elementy które wystęupją w każdym
# Abstrakcja
- Izomorfizm bijekcja, która zachowuje funkcje i relacje.
- Homomorfizm odwzorowanie jednej algebry liniowej(np. pierścienia) w drugą przy zachowaniu odpowiednich działań
- Automorfizm izomorfizm na samym sobie, czyli odwzorowanie struktury na samą siebie przy zachowaniu działań itp.
# Relacje
- piwo z kolegami
- zwrotność (każda ze sobą)
- symetryczność (działa w dwie strony)
- przechodniość (jeśli xRy i yRz to xRz)
- relacja równoważności, gdy spełnia wszystko powyżej
- antysymetryczność (xRy i yRx wtedy i tylko wtedy gdy x = y)
# Struktury
- Grupa struktura algebraiczna definiowana jako zbiór z określonym na nim łącznym i odwracalnym dwuargumentowym działaniem wewnętrznym[1]; szczególny przypadek monoidu, w którym każdy element ma element odwrotny (zob. Podobne struktury).
- Iniekcja każdy argument ma przypisaną tylko jedną wartość i żadne dwa argumenty nie dają tej samej wartości. Innymi słowy jest różnowartościowa.
- Suriekcja zbiór wartości pokrywa się z przeciwdziedziną (każdy element przeciwdziedziny jest użyty)
- Bijekcja iniekcja i suriekcja na raz. Liczba bijekcji to $n!$ gdzie n to ilość el. zbioru.
- działanie wewnętrzne operacjie nie wyrzucają nas z danego zbioru
- rozdzielność $a \cdot (b + c) = (a \cdot b) + (a \cdot c)$
- półgrupa nie potrzebuje el. neutralnego i odwrotnego
# Grafy
- Graf podstawowy obiekt rozważań teorii grafów, struktura matematyczna służąca do przedstawiania i badania relacji między obiektami. W uproszczeniu graf to zbiór wierzchołków, które mogą być połączone krawędziami w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków.
- Graf planarny graf który można narysować nie przecinając linii na kartce.
- Graf spójny każda para wierzchołków jest połączona
- Twierdzenie Kuratowskiego graf jest planarny, jeśli nie zawiera podgrafu, który jest grafem rozszerzonym grafu $K_5$ lub $K_{3,3}$. Innymi słowy: graf jest planarny jeśli nie jest stworzony z pentagramu/3 kropek na góra-dół.
- Macierz incydencji pokazuje gdzie wierzchołki grafu mają krawędzi. Wiersz to wierzchołek, a kolumny to krawędzi. Jeśli jest $0$ to nie styka się, jeśli liczba $< 0$ to wchodzi do wierzchołka, a jeśli $> 0$ to z niego wychodzi.
# Teoria liczb
- $ax + by = c$, przy takim zapisie szukamy $NWD(a, b)$ i sprawdzamy czy dzieli liczbę c. Uzywamy rozszerzonego algorytmu Euklidesa
- Hinolskie twierdzenie o resztach służy do rozwiązywania układów równań.
Ważne wzory:
$$
\begin{align}
N &= n_i \cdot n_{i + 1} \cdot \ ...\ \cdot n_k \\
N_i &= \frac{N}{n_i} \\
N_i \cdot y_i &\equiv 1 \pmod{n_i} \\
x &= \sum_{i = 1}^{k}({a_i \cdot N_i \cdot y_i}) \pmod{N}
\end{align}
$$
# Euklides
Mamy NWD(a,b), gdzie a > b
1. Rozpisujemy a za pomocą b $a = b \cdot x + r$, gdzie x to wielokrotność a r reszta
2. rozpisujemy b za pomocą r
3. powtórz, aż dojdziesz do momentu gdy $r = 0$
Rozszerzenie polega na robieniu tego samego ale w drugą stronę

View File

@@ -0,0 +1,13 @@
Version: 1.0
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8
RnwWeave: Sweave
LaTeX: pdfLaTeX

View File

@@ -0,0 +1,701 @@
#### === 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.