2
2
• Idősoros adatok bemutatása
• Dekompozíció
• Előrejelzés
• Simító eljárások
• Távolságmetrikák
3
• Az idősor egy 𝑙 elemű számsorozat
𝒙 = (𝒙 𝟎 , 𝒙 𝟏 , … , 𝒙 𝒍 − 𝟏 )
• Az értékek időpontokhoz vannak rendelve
• Időben egymás után következő megfigyelések sorozata
• Az idősor matematikailag nem sor, hanem sorozat
0 50 100 150 200 250 300 350 400 450 500 23
24 25 26 27 28 29
A világsajtóban megjelent cikkek
egy 4000-es véletlen mintáját
megvizsgálva az ábrák több mint
75%-a idősorokat ábrázolt. (Tufte,
1983)
4
4
• Időjárási adatok
5
• Pénzügyi adatok
6
6
• Energetika
7
• Sport
8
8
• Egészségügyi adatok
9
• Egészségügyi adatok
10
10
• Az idősorok komplex mintázatai különböző komponesek együttes hatásának eredményei
• Bármely idősor felbontható:
– trendhatásra – Ciklikus hatásra – Szezonalitásra – Maradványra (zaj)
• Egymásra is hatással vannak
11
April 2, 2015
12
• Hosszútávú trendmozgások (trend görbe): az idősor alakulsát leginkább meghatározó irányvonal vagy görbe
• Ciklikus mozgások és szórások: szintén hosszútávú ingadozások a trendvonal körül
– Pl. üzleti időszakok, jellemzően periodikus
• Szezonális mozgások és szórások
– Időben visszatérő , azonos hatású jelenségek, pl. Karácsony
• Zaj okozta szabálytalanság és véletlen mozgások
• Az idősor elemzés során e négy komponens együttes hatását vizsgáljuk
– Additív kapcsolat: TS = T + C + S + I
– Multiplikatív kapcsolat: TS = T C S I
13
• Felosztás
– Egyváltozós – Többváltozós
• Főbb tulajdonságok
– Az idősorok egymás utáni értékei erősen korrelálnak (autokorreláció) – Hagyományos elemzési módszerek esetén magas dimenziószám – Erősen zajos
– A mintavételezés időköze eltérhet
– A sorozatok hossza eltérhet
14
14
• Korrelációszámítás idősorokon
• A szokásos összefüggések továbbra is érvényesülnek
n in
i
i i
n
i
i i
xy
x x
y y
x x
y y
r
1 1
2 2
1
) (
) (
) )(
(
r
xy= r
yx, r [ –1; +1 ]
15
• Egy idősor jelenlegi és későbbi értékei közötti kapcsolat mértékét fejezi ki.
• A k lépéses autokorreláció az idősor és a k lépéssel eltolt idősor közötti korreláció.
• k. rendű autokorreláció számítása
𝒂𝒖𝒕𝒐𝒄𝒐𝒓𝒓
𝒌= 𝒄𝒐𝒓𝒓 𝒙 𝒕 , 𝒙 𝒕 + 𝒌 ∀𝒕 − 𝒓𝒆
2 E
2 E
2
E E
z
k t t
k t t
k t t
k
z z
z z
z autocorr z
16
16
• Egy idősor jelenlegi és későbbi értékei közötti kapcsolat mértékét fejezi ki.
• A k lépéses autokorreláció az idősor és a k lépéssel eltolt idősor közötti korreláció.
• k. rendű autokorreláció számítása
𝑎𝑢𝑡𝑜𝑐𝑜𝑟𝑟𝑖 = 𝑐𝑜𝑟𝑟 𝑥 𝑡 , 𝑥 𝑡 − 𝑖 ∀𝑡 − 𝑟𝑒
• Az autoregresszív (AR) modell, az idősor jelenlegi értékét, saját előző értékeinek függvényében fejezi ki
• A mozgóátlag (MA) modell az idősor jelenlegi értékét, a jelenlegi és a múltbeli véletlen változók függvényében fejezi ki
• Variáció: ARIMA(p,q,d)
k a y k a y k p
y a p
AR ( )
0
1 1 ...
p
q c e k c e k c e k q
MA
0
1 1 ...
q
• Az ARMA modell trendhatás nélküli idősort vár
• Trendhatás megállapítása a mozgóátlag módszerrel
April 2, 2015
• Trend görbe számítás
• N-ed rangú mozgóátlag csúszóablakkal
– Simító hatással van az idősor egészére
– Kiszűri a ciklikusság, a szezonalitás és a zaj hatását – Az idősor elején és végén adatvesztés
– Érzékeny a kiugró értékekre
20
20
• Mozgóátlag módszer
• Exponenciális simítás
Idősor simítása: kiszűri a rövidtávú ingadozások hatását, eltünteti a szezonalitást
• Determinisztikus működés, nem veszi figyelembe az
idősorral reprezentált folyamat véletlenszerűségét
21
• Egyszerű átlag - gyors, olcsó, csak stacionárius esetben
• Mozgóátlag módszer - az utolsó 𝑛 érték
figyelmbevételével dolgozik, ebből számolja a következő becslést.
– Feltételezi a folyamat időbeli stabilitását
– Az ablak mérete meghatározó, befolyásolja a közeli értékek súlyozását, simítás mértékét
(utolsó n érték) Moving Average = ---
n
24
24
• Egyszeres exponenciális simítás – A közeli értékeket felülsúlyozza,
– idővel exponenciálisan csökkenő súlyokkal számol – Trend és szezonális hatás nélküli sorokon
A
t= αY
t-1+ (1 – α) A
t-1Új érték= α (előző megfigyelés) + (1- α) előző érték
• Kétszeres exponenciális simítás
– Kezeli a trend hatást
25
• Egyszeres exponenciális simítás – A közeli értékeket felülsúlyozza,
– idővel exponenciálisan csökkenő súlyokkal számol – Trend és szezonális hatás nélküli sorokon
Tipikus autokorreláció függvények
-2 -1.5
-1 -0.5
0 0.5
1 1.5
2
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
-0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
-1.5 -1 -0.5
0 0.5
1 1.5
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 -1
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Véletlenszerű
(normális eloszlású független sorozat)
Autokorrelált
(véletlen sorozat mozgóátlaga)
Periodikus
(szinusz függvény,
zajmentes)
15 15.5 16 16.5 17 17.5 18 18.5
1 21 41 61 81 101 121 141 161 181
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
acf pacf
Javasolt modell : AR(2)
ARMA modell alkalmazása
Az eredeti adatsor és az egy lépésre tett előrejelzések
15.0 15.5 16.0 16.5 17.0 17.5 18.0 18.5
Idősor
Előrejelzés
29
• Miért fontos ez?
• Az összehasonlíthatóság kérdése
X = x1, x2, …, xn and Y = y1, y2, …, yn
• Hogyan számítsuk: Sim(X, Y) = ?
– Hasonlóan alakul-e X és Y árfolyama?
time
• Elvárások a távolságfüggvényekkel szemben
• D(A,B) = D(B,A) szimmetria
• D(A,A) = 0 ön-távolság
• D(A,B) >= 0 pozitivitás
• D(A,B) D(A,C) + D(B,C) háromszög egyenlőtlenség
• X és Y sorozatok hasonlósága
n
i
p p
i i
p x y
L
1
/
) 1
|
| (
p=1 Manhattan távolság
p=2 Euklidészi távolság
Gap skipped
Sim(X,Y) = |LCS| /n
• Szerkesztési műveletek: beszúrás, törlés, helyettesítés
• Egyezőség helyett legfeljebb 𝜀 távolságot várunk el
• Dinamikus programozással kalkulálható 𝑂(𝑚𝑛)
ed(i,j) = ed(i-1, j-1) if x
i= y
jmin (ed(i-1,j) +1, if x
i≠ y
jed(i, j-1) +1,
ed(i-1, j-1)+1)
i
i+2 i
i i
time time
Bármely távolságmetrika (Euklideszi, Manhattan, …) mely az egyik idősor i. elemét a másik i. elemével veti össze gyenge eredményt hoz.
Egy nemlineáris, rugalmas
megfeleltetés jobban közelíti a
valóságot, segítségével
összerendelhetők a hasonló
alakzatok, akkor is ha időben eltolva
jelennek meg.
js
Time Series B 1
p
sp
1A és B idősor közötti legjobb összerendelést a mátrixon keresztül vezető útvonal adja meg
P = p
1, … , p
s, … , p
kp
s= (i
s, j
s)
ahol P jelenti a legkisebb költségű útvonalat.
P összerendelést hívjuk
vetemítő függvénynek.
D(A , B ) =
k
s s k
s
s s
w w p d
1 1
) (
d(p
s)
:i
s ésj
s távolságaP
min arg
w
s> 0
:súlytényező
.Legjobb útvonal A és B között :
Idővel normált távolság
A
ésB között
:P
0= (D(A , B )).
js
is m
1
n 1
Time Series B
Time Series A
p
kp
sp
1hatványozottan növekszik
A vetemítő fgv megkötései:
• monoton
• folytonos
• korlátozó feltételek
• ablakozás
• meredekségi kikötések
Keresési tér csökkentése
js
Time Series B 1
• Egyszerű megoldás – O(n
2)
– 𝑛 jelöli az idősorok hosszát
– minden (i, j) párra el kell végezni a számítást
• Ablakozási megkötéssel
– O(nw) – [Ratanamahatana, Keogh, 2004]
– Csak azokra az (i, j) párokra, ahol | i – j | <= w
42
• A távolság és sűrűség alapú klaszterezők adaptálhatóak a DTW használatával – K-means
– K-medoids
– Hierarchikus klaszterezők – DBSCAN
43
43
• DTW segítségével alkalmazhatóak a távolságfüggvényes megoldások, pl. KNN
• A DTW-n alapuló KNN idősor osztályozó versenyképes a komplexebb megoldásokkal (Ding, 2008)
• Az általános KNN esetén megismert gyorsítási megoldások itt is alkalmazhatóak
• A reprezentatív idősorok kiválasztása azonban ekvivalens a halmaz-fedési problémával, így NP-teljes
44
• Regressziós technikákkal történhet
• Visszavezetés a hagyományos adatbányászati problémákra (lásd esettanulmány)
• Fa alapú megoldások
• SVM
• Együttes osztályozók
45
45
• Megválasztjuk az előrejelző módszert - megkötések
• Két részre bontjuk az adathalmazt – egy tanító és egy teszt részre
• A választott modell paramétereit a tanító halmaz alapján választjuk meg
• A választott modell és annak paraméterezése alapján előrejelzéseket adunk a teszt halmaz értékeire
• Kiértékeljük a modell pontosságát (MAD, MPE, MSD, MAPE)
• Ha szükséges finomítunk a modellen és
paraméterezésén
46
• Tanított modell pontosságának fő mértékei: MAPE, MAD and MSD
• Hiba mértékek, így minimalizáljuk őket.
• Megteremtik a különböző megoldások összehasonlíthatóságát.
• MAPE (Mean Absolute Percentage Error) az átlagos eltérést százalékos alakban adja meg
|(y
t-y
t’)/y
t|
MAPE = --- 100 (y
t 0)
n
47
47
• MAD (Mean Absolute Deviation) a pontosságot az abszolút eltérés átlagaként adja meg
– Az összes hiba nagyságáról ad képet |y
t-y
t’|
MAD = ---
n
• MSD(Mean Squared Deviation) a kiugróan nagy eltéréseket a négyzetes taggal bünteti.
(y
t-y
t’)
2MSD = ---
n
• Valós probléma megoldása
• Historikus adatok: 1986-2014
• Előrejelzési időszak: 2015. január 13-tól 2015. február 11-ig
• Kiértékelés valós időben
• Célfüggvény: RMSE, legalább 25%-os pontosság (MAPE)
• A megrendelő számára fontos a magyarázó változók, főbb vezérlő tényezők behatárolása is
50
51
51
52
53
53
„Growth in Asian economies in particular, which account
for 50 percent of all copper use, is another important factor.”
„Used in China as collateral for bank loans…”
„…the world refined copper production”
„Building, for example, accounts for approximately half of all copper use, with engineering accounting for nearly 25 percent, and electrical applications accounting for approximately 17
percent.” „On the demand side, the US dollar is set
to get stronger – always a headwind for commodity prices, Mr Morgan said – while Chinese demand has been a little weak lately.”
„Industry body International Copper Study Group has forecast a global deficit of 200,000 tonnes this year.
Next year, it expects another deficit as
production grows by 3.4% while demand
rises 3.6%.”
54
„Morgan Stanley expects copper prices to rise to $7,397 per ton in 2015”
„CLSA tips copper to reach $US3.13 per pound at the end of the year, $US3.30 at the end of 2015 and $US3.60 at the end of 2016.”
„JPMorgan's forecast is $US3.20 for the end of 2014, $US3.22 for the end of 2015 and $US3.40 for the end of 2016.”
Codelco
Glencore Xstrata XTA:LN -> GLEN:LN Rio Tinto RIO:LN
BHP Billiton BLT:LN Vale XNYS:VALE Minmetals 230:HK
Jiangxi Copper Co 358:HK
Chinalco Mining Corp. International
3668:HK
• Open positions
• Official interest rate – China, India
• GDP Growth Rate – China, India
• U.S. Dollar Index
• Helyettesítő termék:
– steel billet price
• Historical stock prices
– Bhp Billiton Ltd, Rio Tinto Ltd (RIO.AX)., Freeport-McMoRan Copper & Gold,, GLENCORE XSTRATA PLC, GRUPO MEXICO SA B SH, MINMETALS LAND, JIANGXI COPPER, AAL: ANGLO AMERICAN, SCCO: Southern Copper Corporation Com
• Naptár alapú változók – Month
– Day of year – Day of month – Day of week – Week of year
55
55
56
57
57
58 Error
measure GBR RF ENS MDE 377.4343 397.1229 386.0171 MAPE 0.056216 0.059086 0.057476 nRMSE 0.068107 0.071073 0.069278 RMSE 451.8042 472.2506 459.7993
• Important factors include
– Trade Weighted U.S. Dollar Index – Steel billet prices
– tickers for major mining companies
• Anglo American,
• BHP Billiton,
• Southern Copper Company.
59
59
Attribute Mean importance
YAHOO/L_AAL.6_Adjusted_Close 0.340718084
DTWEXM_DTWEXM 0.061889971
OFDP/STEELBILLET_46.3_Mid 0.044732783
YAHOO/ASX_BHP_AX.6_Adjusted_Close 0.037231912
YAHOO/SCCO.6_Adjusted_Close 0.035910178
Date of year 0.035462749
Open Interest 0.027192694
YAHOO/GLCNF.6_Adjusted_Close 0.027093326
YAHOO/HK_0358.6_Adjusted_Close 0.026668353
YAHOO/ASX_RIO_AX.6_Adjusted_Close 0.025708914
YAHOO/SCCO.5_Volume 0.023513478
YAHOO/GMBXF.6_Adjusted_Close 0.022829927
YAHOO/L_AAL.5_Volume 0.021597184
YAHOO/FCX.5_Volume 0.021502684
60
61
61
62
63
63
64
65
65
67
Age Income House size Number of children
Number of cars
42 280 000 82 3 1
88 90 000 44 0 0
Input attributes
Clustering
Task:
• We have a training dataset
• … where we know the attributes
• We need to separate the cases into groups so that
• … similar cases go to the same group
• …. different cases go to different groups Creating groups
Questions:
Which grouping is better?
How are the groups created?
• …. different cases go to different groups Creating groups
• …. different cases go to different groups Hierarchical clustering
71
Clustering
Task:
• We have a training dataset
• … where we know the attributes
• We need to separate the cases into groups so that
• … similar cases go to the same group
• …. different cases go to different groups Hierarchical clustering
– How to standardize or normalize numerical variables?
– How many clusters we expect to uncover?
73
Clustering
Task:
• We have a training dataset
• … where we know the attributes
• We need to separate the cases into groups so that
• … similar cases go to the same group
• …. different cases go to different groups Hierarchical clustering
Error (SSE)
# Clusters
• …. different cases go to different groups Density-based clustering
• Selecting appropriate variables is important
• Select variables that are:
– Meaningful to the analysis – Relatively independent – Limited in number
– Numeric (for certain types of clustering algorithms) – Low kurtosis and skewness
• Transformation of variables is important to have compatible measurement scales
d(x,y) = sqrt((income1-income2)^2+(age1+age2))
• Income mean: 35305
• Age mean: 30.28
• Income will dominate the distance
• Standardize/normalize the dataset:
– Range normalization (transform values to 0-1) – Z-transform
• income = (income-mean(income))/std(income)
• age= (age - mean(age))/std(age)
• Means will become 0 → scales are compatible
CLUSTER PROFILING
• Profiling can be defined as the generation of cluster descriptions (class labels) from the input variables.
• At least two forms of cluster profiling exist:
– Comparing the clusters means (centroids)
– Building a decision tree model with cluster labels as target variable and using rules of tree as cluster descriptions
• Live demos:
• http://www.db-net.aueb.gr/kmeans/
• http://home.deib.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html