Hide

Problem C
Vindchill

Languages en sv

Som alla vet finns det få saker som är så härliga som en kall vindpust på en varm sommardag. Men det visar sig att en kall vindpust är otroligt farlig!! Det är inte för inte som den har listats tillsammans med hurrikaner och virvelvindar i dataset för sällsynta naturkatastrofer! I och med att det uppenbarligen kan finnas så farliga händelser som vindpustar i vardagen har du fått i uppdrag att utveckla ett program som analyserar väderdata från de senaste fem dagarna för en given plats och avgör om någon typ av extremväder kommer att inträffa. Om extremväder förväntas är det dessutom nödvändigt att klassificera vilken av de 36 olika extrema väderkategorierna som kan förekomma.

För den här uppgiften är träningsdata givet och det är inte tillåtet att hitta egen träningsdata på internet.

Indata

Ladda ner filen med testdata. Denna hittas längst ned vid "attachments". Du får en fil med väderdata för en specifik plats under de senaste fem dagarna. Varje väderinmatning består av flera rader där varje rad representerar en tidsperiod (t.ex. timme) och innehåller relevanta meteorologiska variabler som temperatur, luftfuktighet, vindhastighet, tryck, etc. Datat är strukturerat som en tabell där varje rad motsvarar en tidsperiod och varje kolumn representerar en meteorologisk variabel. Mer exakt kommer indatan att innehålla kolumnerna "dayXtmin", "dayXtavg", "dayXtmax", "dayXprcp", "dayXsnow", "dayXwdir", "dayXwspd", "dayXwpgt", "dayXpres" och "dayXtsun". Dessa beskriver minimala temperaturen, medeltemperaturen, maximala temperaturen, nederbörd, snöfall, vindriktning, vindhastighet, maximala vindgust, lufttryck, total tid som solen är uppe respektive. X i ovanstående kommer att anta värdena 1-5, day1 är 5 dagar innan den dagen du ska säga ifall något extremt väder kommer att inträffa och day5 är 1 dag innan dess. Notera att vissa av dessa värden kan sakna värden, detta kan exempelvis bero på att den saken inte kunde mätas vid den platsen vid den tidpunkten. I träningsdatan kommer alla kolumner att föregås av en "label" som säger vilken av de 36 kategorierna som inträffade (0-35) eller en -1 ifall ingen av dessa kategorier hände.

Utdata

För varje testfall ska ditt program producera en rad med 36 siffror separerade med mellanslag. Varje siffra ska vara antingen 0 eller 1:

  • 0 indikerar att den specifika extrema väderkategorin inte kommer att inträffa.

  • 1 indikerar att den specifika extrema väderkategorin kommer att inträffa.

Dessa siffror representerar om extremväder kommer att inträffa inom någon av de 36 kategorierna. Notera att du får svara att noll eller flera kategorier kommer att inträffa.

Exempel

Utdata:

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Poäng

Din lösning kommer att bedömas baserat på hur väl den förutsäger extremväderkategorierna jämfört med den korrekta data. Eftersom det är mycket alvarligare att inte förutsäga ett extremväder som inträffar än att förutsäga det inte inträffar, får felnegativa förutsägelser en högre vikt än felpositiva förutsägelser.

Poängberäkningen sker enligt följande:

  • För varje felaktig förutsägelse där du gissar att det kommer att inträffa tilldelas 3.5 poäng i straff.

  • För varje felaktig förutsägelse där du gissar att det inte kommer att inträffa tilldelas 140 poäng i straff.

Det genomsnittliga straffet ($straff$) beräknas genom att summera straffpoängen för alla felaktiga förutsägelser och divideras sedan med antal testfall.
Om $straff$ är större eller lika med $130$ får du $0$ poäng, annars beräknas den som följande:

Din slutliga poängen beräknas med formeln:

\[ \text{Poäng} = \max (0, \min (100, 101 - (\frac{\text{130}}{\text{130-straff}})^2)) \]

Poängsättnings funktionen kan komma att ändras under tävlingen.

Vid slutet av tävlingen testas alla lösningar om på resterande 70% av siffrorna. Din poäng i slutet av tävlingen är alltså endast poängen på de resterande 70% av siffrorna, de 30% som du testats på hittills har ingen påverkan. Det är garanterat att de 30% som testas under tävlingen har valts uniformt slumpmässigt och är helt disjunkta från de 70% som du testas på i slutet. Därmed borde resultaten på de 30% som du testas på under tävlingen ses som en stark indikator på hur bra din lösning är. Samtidigt är det dåligt överanpassa (overfitta) din lösning till testdatan.

Please log in to submit a solution to this problem

Log in