1 Zadanie 1: Prestiż względem dochodu.

Zestaw danych “Prestige” (z pakietu “car”) zawiera dane nt. prestiżu n=102 Kanadyjskich zawodów z 1971 roku, a także średni dochód w danym zawodzie. Do zbadania zależności między prestiżem a dochodem wykorzystaj metody regresji nieparametrycznej.

Najpierw zwizualizujemy zależnośc pomiędzy prestiżem a dochodem. Widać, że zależnośc nie jest liniowa.

data("Prestige")

plot(Prestige$income, Prestige$prestige, 
     main = "Zależność między dochodem a prestiżem",
     xlab = "Income", 
     ylab = "Prestige", 
     pch = 10, col = "black")

1.0.1 Model loess (lokalnie kwadratowy)

mloess <- loess(prestige ~ income, data=Prestige)
ggplot(Prestige) +
    geom_point(aes(x=income,y=prestige)) +
    ggtitle("Prestige (Loess, span=0.75)") +
    geom_line(aes(x=income, y=fitted(mloess)),
      col='blue')

Parametr span=0.75 wskazuje, że do wygładzenia brana jest pod uwagę relatywnie duża liczba sąsiednich punktów. Dzięki temu krzywa jest bardziej gładka i mniej wrażliwa na szum w danych. Krzywa pokazuje, że prestiż zawodowy ogólnie rośnie wraz ze wzrostem dochodów. Można zauważyć: Początkowo szybki wzrost prestiżu przy wzroście dochodów. Potem tempo wzrostu maleje, co może sugerować efekt nasycenia – wyższe dochody nie wpływają już znacząco na postrzeganie prestiżu. Istnieje wyraźna, choć nieliniowa zależność między dochodem a prestiżem zawodowym.

1.0.2 Geom_smooth

ggplot(Prestige) +
    geom_point(aes(x=income,y=prestige)) +
    geom_smooth(aes(x=income,y=prestige), method='loess',
      span=0.22)
## `geom_smooth()` using formula = 'y ~ x'

Wartość parametru span = 0.22 oznacza, że do wygładzania wykorzystywany jest stosunkowo mały zakres sąsiednich punktów, co pozwala na uchwycenie bardziej szczegółowych nieregularności w danych. Dany parametr pozwala dokładniej zobaczyć lokalne różnice w danych, ale może być mniej odpowiedni, jeśli chcemy uzyskać bardziej ogólny obraz zależności.

Wykres pokazuje, że prestiż zawodowy jest skorelowany z dochodem, ale zależność nie jest liniowa.

Wyraźnie widoczny jest wzrost prestiżu w miarę wzrostu dochodu, jednak dla wyższych dochodów tempo wzrostu wyhamowuje.

1.0.3 Sploty interpolujące

splint <- smooth.spline(
  Prestige$prestige,
  Prestige$income,
  cv=TRUE)
## Warning in smooth.spline(Prestige$prestige, Prestige$income, cv = TRUE):
## krzyżowa walidacja z nieunikalnymi wartościami 'x' wydaje się wątpliwa
splint <- data.frame(x=Prestige$income,y=Prestige$prestige)
ggplot(Prestige) +
  geom_point(aes(x=income,y=prestige)) +
  ggtitle("Sploty interpolujące, lambda wybrana przez CV") +
  geom_line(data=splint, aes(x=x, y=y), col='blue')

Splot interpolujący jest bardziej elastyczny niż proste modele regresji i może lepiej odwzorować złożone zależności w danych. Wartość lambda wybrana przez walidację krzyżową minimalizuje ryzyko nadmiernego dopasowania lub nadmiernego wygładzenia.

Krzywa dobrze odzwierciedla relację dochód-prestiż, szczególnie w zakresie nieliniowym.

2 Zadanie 2: Wypadek samochodowy

Zbiór danych “mcycle” (z pakietu MASS) zawiera n=133 pary punktów czasowych (w ms) i obserwowanych przyspieszeń głowy (w g), które zostały zarejestrowane w symulowanym wypadku motocyklowym.

Najpierw zwizualizujemy zależnośc pomiędzy czasem a przyspieszeniem. Widać, że zależnośc nie jest liniowa.

data("mcycle")

plot(mcycle$times, mcycle$accel, 
     main = "Zależność między czasem a przyspieszeniem",
     xlab = "Times", 
     ylab = "Accel", 
     pch = 10, col = "blue")

2.0.1 Model loess (lokalnie kwadratowy)

mloess1 <- loess(accel ~ times, data=mcycle)
ggplot(mcycle) +
    geom_point(aes(x=times,y=accel)) +
    ggtitle("Prestige (Loess, span=0.75)") +
    geom_line(aes(x=times, y=fitted(mloess1)),
      col='green')

Dzięki umiarkowanemu wygładzeniu krzywa jest płynna i dobrze odwzorowuje ogólny trend danych. Model LOESS z wybranym parametrem span = 0.75 dobrze odwzorowuje ogólną zależność między czasem a przyspieszeniem. Jest wystarczająco gładki, aby uchwycić główny trend, ale może nie oddawać drobniejszych szczegółów (lokalnych zmian w danych).

2.0.2 Sploty interpolujące

splint1 <- smooth.spline(
  mcycle$accel,
  mcycle$times,
  cv=TRUE)
## Warning in smooth.spline(mcycle$accel, mcycle$times, cv = TRUE): krzyżowa
## walidacja z nieunikalnymi wartościami 'x' wydaje się wątpliwa
splint1 <- data.frame(x=mcycle$times,y=mcycle$accel)
ggplot(mcycle) +
  geom_point(aes(x=times,y=accel)) +
  ggtitle("Sploty interpolujące, lambda wybrana przez CV") +
  geom_line(data=splint1, aes(x=x, y=y), col='blue')

Tego rodzaju analiza jest przydatna w przypadku danych dynamicznych, gdzie interesuje nas zarówno ogólny trend, jak i lokalne zmiany w obserwacjach.

LS0tDQp0aXRsZTogIk5pZWtsYXN5Y3puZSBtZXRvZHkgc3RhdHlzdHlraSINCnN1YnRpdGxlOiAiTmlla2xhc3ljem5hIGVzdHltYWNqYSByZWdyZXNqaSINCmF1dGhvcjogIlZlcm9uaWthIFpoZGFtYXJvdmEiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdGhlbWU6IGNlcnVsZWFuDQogICAgaGlnaGxpZ2h0OiB0ZXh0bWF0ZQ0KICAgIGZvbnRzaXplOiA4cHQNCiAgICB0b2M6IHRydWUNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiBmYWxzZQ0KZWRpdG9yX29wdGlvbnM6IA0KICBtYXJrZG93bjogDQogICAgd3JhcDogNzINCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmxpYnJhcnkoc3BhdHN0YXQpDQpsaWJyYXJ5KGRwbHlyKQ0KaWYgKCFyZXF1aXJlKCJkZXZ0b29scyIpKQ0KaW5zdGFsbC5wYWNrYWdlcygiZGV2dG9vbHMiKQ0KZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJkZWJpbnFpdS9zbnBhciIpDQpsaWJyYXJ5KHNucGFyKQ0KbGlicmFyeSh0aWR5cikNCmxpYnJhcnkoUG9ncm9tY3lEYW55Y2gpDQpsaWJyYXJ5KGdncGxvdDIpDQpvcHRpb25zKHJlcG9zID0gYyhDUkFOID0gImh0dHBzOi8vY3Jhbi5yc3R1ZGlvLmNvbS8iKSkNCmluc3RhbGwucGFja2FnZXMoInJlbW90ZXMiKQ0KaW5zdGFsbC5wYWNrYWdlcygibWdjdiIpDQppbnN0YWxsLnBhY2thZ2VzKCJNQVNTIikNCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShtZ2N2KQ0KbGlicmFyeShzcGxpbmVzKQ0KbGlicmFyeShNQVNTKQ0KYGBgDQoNCiMgWmFkYW5pZSAxOiBQcmVzdGnFvCB3emdsxJlkZW0gZG9jaG9kdS4gDQoNClplc3RhdyBkYW55Y2gg4oCcUHJlc3RpZ2XigJ0gKHogcGFraWV0dSDigJxjYXLigJ0pIHphd2llcmEgZGFuZSBudC4gcHJlc3Rpxbx1IG49MTAyIEthbmFkeWpza2ljaCB6YXdvZMOzdyB6IDE5NzEgcm9rdSwgYSB0YWvFvGUgxZtyZWRuaSBkb2Now7NkIHcgZGFueW0gemF3b2R6aWUuIERvIHpiYWRhbmlhIHphbGXFvG5vxZtjaSBtacSZZHp5IHByZXN0acW8ZW0gYSBkb2Nob2RlbSB3eWtvcnp5c3RhaiBtZXRvZHkgcmVncmVzamkgbmllcGFyYW1ldHJ5Y3puZWouDQoNCk5hanBpZXJ3IHp3aXp1YWxpenVqZW15IHphbGXFvG5vxZtjIHBvbWnEmWR6eSBwcmVzdGnFvGVtIGEgZG9jaG9kZW0uIFdpZGHEhywgxbxlIHphbGXFvG5vxZtjIG5pZSBqZXN0IGxpbmlvd2EuDQoNCmBgYHtyfQ0KZGF0YSgiUHJlc3RpZ2UiKQ0KDQpwbG90KFByZXN0aWdlJGluY29tZSwgUHJlc3RpZ2UkcHJlc3RpZ2UsIA0KICAgICBtYWluID0gIlphbGXFvG5vxZvEhyBtacSZZHp5IGRvY2hvZGVtIGEgcHJlc3RpxbxlbSIsDQogICAgIHhsYWIgPSAiSW5jb21lIiwgDQogICAgIHlsYWIgPSAiUHJlc3RpZ2UiLCANCiAgICAgcGNoID0gMTAsIGNvbCA9ICJibGFjayIpDQpgYGANCg0KIyMjIE1vZGVsIGxvZXNzIChsb2thbG5pZSBrd2FkcmF0b3d5KQ0KYGBge3J9DQptbG9lc3MgPC0gbG9lc3MocHJlc3RpZ2UgfiBpbmNvbWUsIGRhdGE9UHJlc3RpZ2UpDQpnZ3Bsb3QoUHJlc3RpZ2UpICsNCiAgICBnZW9tX3BvaW50KGFlcyh4PWluY29tZSx5PXByZXN0aWdlKSkgKw0KICAgIGdndGl0bGUoIlByZXN0aWdlIChMb2Vzcywgc3Bhbj0wLjc1KSIpICsNCiAgICBnZW9tX2xpbmUoYWVzKHg9aW5jb21lLCB5PWZpdHRlZChtbG9lc3MpKSwNCiAgICAgIGNvbD0nYmx1ZScpDQoNCmBgYA0KDQoNClBhcmFtZXRyIHNwYW49MC43NSB3c2thenVqZSwgxbxlIGRvIHd5Z8WCYWR6ZW5pYSBicmFuYSBqZXN0IHBvZCB1d2FnxJkgcmVsYXR5d25pZSBkdcW8YSBsaWN6YmEgc8SFc2llZG5pY2ggcHVua3TDs3cuIER6acSZa2kgdGVtdSBrcnp5d2EgamVzdCBiYXJkemllaiBnxYJhZGthIGkgbW5pZWogd3JhxbxsaXdhIG5hIHN6dW0gdyBkYW55Y2guDQpLcnp5d2EgcG9rYXp1amUsIMW8ZSBwcmVzdGnFvCB6YXdvZG93eSBvZ8OzbG5pZSByb8WbbmllIHdyYXogemUgd3pyb3N0ZW0gZG9jaG9kw7N3Lg0KTW/FvG5hIHphdXdhxbx5xIc6DQpQb2N6xIV0a293byBzenlia2kgd3pyb3N0IHByZXN0acW8dSBwcnp5IHd6cm/Fm2NpZSBkb2Nob2TDs3cuDQpQb3RlbSB0ZW1wbyB3enJvc3R1IG1hbGVqZSwgY28gbW/FvGUgc3VnZXJvd2HEhyBlZmVrdCBuYXN5Y2VuaWEg4oCTIHd5xbxzemUgZG9jaG9keSBuaWUgd3DFgnl3YWrEhSBqdcW8IHpuYWN6xIVjbyBuYSBwb3N0cnplZ2FuaWUgcHJlc3Rpxbx1Lg0KSXN0bmllamUgd3lyYcW6bmEsIGNob8SHIG5pZWxpbmlvd2EgemFsZcW8bm/Fm8SHIG1pxJlkenkgZG9jaG9kZW0gYSBwcmVzdGnFvGVtIHphd29kb3d5bS4NCg0KDQojIyMgR2VvbV9zbW9vdGgNCmBgYHtyfQ0KZ2dwbG90KFByZXN0aWdlKSArDQogICAgZ2VvbV9wb2ludChhZXMoeD1pbmNvbWUseT1wcmVzdGlnZSkpICsNCiAgICBnZW9tX3Ntb290aChhZXMoeD1pbmNvbWUseT1wcmVzdGlnZSksIG1ldGhvZD0nbG9lc3MnLA0KICAgICAgc3Bhbj0wLjIyKQ0KDQpgYGANCg0KV2FydG/Fm8SHIHBhcmFtZXRydSBzcGFuID0gMC4yMiBvem5hY3phLCDFvGUgZG8gd3lnxYJhZHphbmlhIHd5a29yenlzdHl3YW55IGplc3Qgc3Rvc3Vua293byBtYcWCeSB6YWtyZXMgc8SFc2llZG5pY2ggcHVua3TDs3csIGNvIHBvendhbGEgbmEgdWNod3ljZW5pZSBiYXJkemllaiBzemN6ZWfDs8WCb3d5Y2ggbmllcmVndWxhcm5vxZtjaSB3IGRhbnljaC4gRGFueSBwYXJhbWV0ciBwb3p3YWxhIGRva8WCYWRuaWVqIHpvYmFjennEhyBsb2thbG5lIHLDs8W8bmljZSB3IGRhbnljaCwgYWxlIG1vxbxlIGJ5xIcgbW5pZWogb2Rwb3dpZWRuaSwgamXFm2xpIGNoY2VteSB1enlza2HEhyBiYXJkemllaiBvZ8OzbG55IG9icmF6IHphbGXFvG5vxZtjaS4NCg0KV3lrcmVzIHBva2F6dWplLCDFvGUgcHJlc3RpxbwgemF3b2Rvd3kgamVzdCBza29yZWxvd2FueSB6IGRvY2hvZGVtLCBhbGUgemFsZcW8bm/Fm8SHIG5pZSBqZXN0IGxpbmlvd2EuDQoNCld5cmHFum5pZSB3aWRvY3pueSBqZXN0IHd6cm9zdCBwcmVzdGnFvHUgdyBtaWFyxJkgd3pyb3N0dSBkb2Nob2R1LCBqZWRuYWsgZGxhIHd5xbxzenljaCBkb2Nob2TDs3cgdGVtcG8gd3pyb3N0dSB3eWhhbW93dWplLg0KDQojIyMgU3Bsb3R5IGludGVycG9sdWrEhWNlDQpgYGB7cn0NCnNwbGludCA8LSBzbW9vdGguc3BsaW5lKA0KICBQcmVzdGlnZSRwcmVzdGlnZSwNCiAgUHJlc3RpZ2UkaW5jb21lLA0KICBjdj1UUlVFKQ0Kc3BsaW50IDwtIGRhdGEuZnJhbWUoeD1QcmVzdGlnZSRpbmNvbWUseT1QcmVzdGlnZSRwcmVzdGlnZSkNCmdncGxvdChQcmVzdGlnZSkgKw0KICBnZW9tX3BvaW50KGFlcyh4PWluY29tZSx5PXByZXN0aWdlKSkgKw0KICBnZ3RpdGxlKCJTcGxvdHkgaW50ZXJwb2x1asSFY2UsIGxhbWJkYSB3eWJyYW5hIHByemV6IENWIikgKw0KICBnZW9tX2xpbmUoZGF0YT1zcGxpbnQsIGFlcyh4PXgsIHk9eSksIGNvbD0nYmx1ZScpDQpgYGANCg0KU3Bsb3QgaW50ZXJwb2x1asSFY3kgamVzdCBiYXJkemllaiBlbGFzdHljem55IG5pxbwgcHJvc3RlIG1vZGVsZSByZWdyZXNqaSBpIG1vxbxlIGxlcGllaiBvZHd6b3Jvd2HEhyB6xYJvxbxvbmUgemFsZcW8bm/Fm2NpIHcgZGFueWNoLiBXYXJ0b8WbxIcgbGFtYmRhIHd5YnJhbmEgcHJ6ZXogd2FsaWRhY2rEmSBrcnp5xbxvd8SFIG1pbmltYWxpenVqZSByeXp5a28gbmFkbWllcm5lZ28gZG9wYXNvd2FuaWEgbHViIG5hZG1pZXJuZWdvIHd5Z8WCYWR6ZW5pYS4NCg0KS3J6eXdhIGRvYnJ6ZSBvZHp3aWVyY2llZGxhIHJlbGFjasSZIGRvY2jDs2QtcHJlc3RpxbwsIHN6Y3plZ8OzbG5pZSB3IHpha3Jlc2llIG5pZWxpbmlvd3ltLg0KDQoNCiMgWmFkYW5pZSAyOiBXeXBhZGVrIHNhbW9jaG9kb3d5IA0KDQpaYmnDs3IgZGFueWNoIOKAnG1jeWNsZeKAnSAoeiBwYWtpZXR1IE1BU1MpIHphd2llcmEgbj0xMzMgcGFyeSBwdW5rdMOzdyBjemFzb3d5Y2ggKHcgbXMpIGkgb2JzZXJ3b3dhbnljaCBwcnp5c3BpZXN6ZcWEIGfFgm93eSAodyBnKSwga3TDs3JlIHpvc3RhxYJ5IHphcmVqZXN0cm93YW5lIHcgc3ltdWxvd2FueW0gd3lwYWRrdSBtb3RvY3lrbG93eW0uDQoNCg0KTmFqcGllcncgendpenVhbGl6dWplbXkgemFsZcW8bm/Fm2MgcG9tacSZZHp5IGN6YXNlbSBhIHByenlzcGllc3plbmllbS4gV2lkYcSHLCDFvGUgemFsZcW8bm/Fm2MgbmllIGplc3QgbGluaW93YS4NCmBgYHtyfQ0KZGF0YSgibWN5Y2xlIikNCg0KcGxvdChtY3ljbGUkdGltZXMsIG1jeWNsZSRhY2NlbCwgDQogICAgIG1haW4gPSAiWmFsZcW8bm/Fm8SHIG1pxJlkenkgY3phc2VtIGEgcHJ6eXNwaWVzemVuaWVtIiwNCiAgICAgeGxhYiA9ICJUaW1lcyIsIA0KICAgICB5bGFiID0gIkFjY2VsIiwgDQogICAgIHBjaCA9IDEwLCBjb2wgPSAiYmx1ZSIpDQpgYGANCg0KIyMjIE1vZGVsIGxvZXNzIChsb2thbG5pZSBrd2FkcmF0b3d5KQ0KYGBge3J9DQptbG9lc3MxIDwtIGxvZXNzKGFjY2VsIH4gdGltZXMsIGRhdGE9bWN5Y2xlKQ0KZ2dwbG90KG1jeWNsZSkgKw0KICAgIGdlb21fcG9pbnQoYWVzKHg9dGltZXMseT1hY2NlbCkpICsNCiAgICBnZ3RpdGxlKCJQcmVzdGlnZSAoTG9lc3MsIHNwYW49MC43NSkiKSArDQogICAgZ2VvbV9saW5lKGFlcyh4PXRpbWVzLCB5PWZpdHRlZChtbG9lc3MxKSksDQogICAgICBjb2w9J2dyZWVuJykNCg0KYGBgDQoNCkR6acSZa2kgdW1pYXJrb3dhbmVtdSB3eWfFgmFkemVuaXUga3J6eXdhIGplc3QgcMWCeW5uYSBpIGRvYnJ6ZSBvZHd6b3Jvd3VqZSBvZ8OzbG55IHRyZW5kIGRhbnljaC4NCk1vZGVsIExPRVNTIHogd3licmFueW0gcGFyYW1ldHJlbSBzcGFuID0gMC43NSBkb2JyemUgb2R3em9yb3d1amUgb2fDs2xuxIUgemFsZcW8bm/Fm8SHIG1pxJlkenkgY3phc2VtIGEgcHJ6eXNwaWVzemVuaWVtLiBKZXN0IHd5c3RhcmN6YWrEhWNvIGfFgmFka2ksIGFieSB1Y2h3eWNpxIcgZ8WCw7N3bnkgdHJlbmQsIGFsZSBtb8W8ZSBuaWUgb2RkYXdhxIcgZHJvYm5pZWpzenljaCBzemN6ZWfDs8WCw7N3IChsb2thbG55Y2ggem1pYW4gdyBkYW55Y2gpLg0KDQoNCg0KIyMjIFNwbG90eSBpbnRlcnBvbHVqxIVjZQ0KYGBge3J9DQpzcGxpbnQxIDwtIHNtb290aC5zcGxpbmUoDQogIG1jeWNsZSRhY2NlbCwNCiAgbWN5Y2xlJHRpbWVzLA0KICBjdj1UUlVFKQ0Kc3BsaW50MSA8LSBkYXRhLmZyYW1lKHg9bWN5Y2xlJHRpbWVzLHk9bWN5Y2xlJGFjY2VsKQ0KZ2dwbG90KG1jeWNsZSkgKw0KICBnZW9tX3BvaW50KGFlcyh4PXRpbWVzLHk9YWNjZWwpKSArDQogIGdndGl0bGUoIlNwbG90eSBpbnRlcnBvbHVqxIVjZSwgbGFtYmRhIHd5YnJhbmEgcHJ6ZXogQ1YiKSArDQogIGdlb21fbGluZShkYXRhPXNwbGludDEsIGFlcyh4PXgsIHk9eSksIGNvbD0nYmx1ZScpDQpgYGANCg0KVGVnbyByb2R6YWp1IGFuYWxpemEgamVzdCBwcnp5ZGF0bmEgdyBwcnp5cGFka3UgZGFueWNoIGR5bmFtaWN6bnljaCwgZ2R6aWUgaW50ZXJlc3VqZSBuYXMgemFyw7N3bm8gb2fDs2xueSB0cmVuZCwgamFrIGkgbG9rYWxuZSB6bWlhbnkgdyBvYnNlcndhY2phY2gu