clustering of multivariate functional data, a new...
TRANSCRIPT
funHDDC, a new package for
Clustering of multivariate functional data
https://cran.r-project.org/web/packages/funHDDC/index.html
Speaker : Amandine Schmutz1,2,3,4
Directors : Julien Jacques2, Charles Bouveyron5, Laurence Chèze3 & Pauline Martin1, 4
UseR! - 2019
1 2 3 4 5
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Contents
Introduction
Motivation example
Package
Practical examples
Conclusion
2
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Context
• 8,3 billion of smart devices [Gartner study (2017)]
3
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Context
• 8,3 billion of smart devices [Gartner study (2017)]
➔ 20,5 billion from now until 2020
4
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Context
• 8,3 billion of smart devices [Gartner study (2017)]
➔ 20,5 billion from now until 2020
• Market divided between companies and private individuals
5
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Context
• 8,3 billion of smart devices [Gartner study (2017)]
➔ 20,5 billion from now until 2020
• Market divided between companies and private individuals
• Numerous practical applications: health, everyday life, hobbies…
6
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Context
• 8,3 billion of smart devices [Gartner study (2017)]
➔ 20,5 billion from now until 2020
• Market divided between companies and private individuals
• Numerous practical applications: health, everyday life, hobbies…
Collection of high frequency data
7
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Functional data
Smart devices collect continuous measurements
8
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Functional data
Smart devices collect continuous measurements
9
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Functional data
Smart devices collect continuous measurements
1 individual = 1 curve
10
INTRODUCTION MOTIVATION PACKAGE EXAMPLES CONCLUSION
❖Functional data
Smart devices collect continuous measurements
1 individual = 1 curve
➔ Dependency kept between points
11
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Introduction
Motivation example
Package
Practical examples
Conclusion
12
❖Contents
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Coming up of running smart watches (Garmin, Polar…)
13
❖Smart devices in sport
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Coming up of running smart watches (Garmin, Polar…)
• Smart racket for tennis players tennis (Babolat…)
14
❖Smart devices in sport
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Coming up of running smart watches (Garmin, Polar…)
• Smart racket for tennis players tennis (Babolat…)
• Cycling, swimming…
15
❖Smart devices in sport
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Coming up of running smart watches (Garmin, Polar…)
• Smart racket for tennis players tennis (Babolat…)
• Cycling, swimming…
Lack of smart devices for equestrian sports
16
❖Smart devices in sport
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Coming up of running smart watches (Garmin, Polar…)
• Smart racket for tennis players tennis (Babolat…)
• Cycling, swimming…
Lack of smart devices for equestrian sports
17
❖Smart devices in sport
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
18
❖Equestrian sports: Jumping WEG 2018 (Tryon USA)
• Timed course, 10-14 obstacles
• Check distances
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
19
❖Equestrian sports: Jumping WEG 2018 (Tryon USA)
• Timed course, 10-14 obstacles
• Check distances
• Up to 160 cm high, 450 cm wide
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Training tool for equestrian sport
20
❖Smart saddle
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Training tool for equestrian sport
21
❖Smart saddle
Accelerometer & gyroscope
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Training tool for equestrian sport
22
❖Smart saddle
Accelerometer & gyroscope
Bluetooth® antenna
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Training tool for equestrian sport
23
❖Smart saddle
Accelerometer & gyroscope
Bluetooth® antenna
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Training tool for equestrian sport
24
❖Smart saddle
Accelerometer & gyroscope
Bluetooth® antenna
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Introduction
Motivation example
Package
Practical examples
Conclusion
25
❖Contents
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective : Separate n p-variate curves in K clusters
26
❖Clustering method
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective : Separate n p-variate curves in K clusters
• Expression in a basis of functions
𝑋𝑖𝑗𝑡 = σ
𝑟=1
𝑅𝑗 𝑐𝑖𝑟𝑗Φ𝑟𝑗(𝑡)
27
❖Clustering method
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective : Separate n p-variate curves in K clusters
• Expression in a basis of functions
𝑋𝑖𝑗𝑡 = σ
𝑟=1
𝑅𝑗 𝑐𝑖𝑟𝑗Φ𝑟𝑗(𝑡)
• Curves projections
𝑋𝑖 𝑡 = μ𝑘 𝑡 +𝑗=1
𝑅
δ𝑘ψ𝑘𝑗(𝑡)
28
❖Clustering method
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective : Separate n p-variate curves in K clusters
• Expression in a basis of functions
𝑋𝑖𝑗𝑡 = σ
𝑟=1
𝑅𝑗 𝑐𝑖𝑟𝑗Φ𝑟𝑗(𝑡)
• Curves projections
𝑋𝑖 𝑡 = μ𝑘 𝑡 +𝑗=1
𝑅
δ𝑘ψ𝑘𝑗(𝑡)
• Mixture model
29
❖Clustering method
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
30
❖R package funHDDC
funHDDC(data, K, init, …)
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
31
❖R package funHDDC
funHDDC(data, K, init, …)
slopeheuristic(mod)
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
32
❖R package funHDDC
funHDDC(data, K, init, …)
slopeheuristic(mod)
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
33
❖R package funHDDC
funHDDC(data, K, init, …)
slopeheuristic(mod)
mfpca(data)
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
34
❖R package funHDDC
funHDDC(data, K, init, …)
slopeheuristic(mod)
mfpca(data)
plot.mfpca(x, nharm, threshold)
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
35
❖R package funHDDC
funHDDC(data, K, init, …)
slopeheuristic(mod)
mfpca(data)
plot.mfpca(x, nharm, threshold)
predict(mod, newdata)
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Introduction
Motivation example
Package
Practical examples
Conclusion
36
❖Contents
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Strides clustering: funHDDC(list(az,gy),K=2)
37
❖Prediction of the horse speed
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Strides clustering: funHDDC(list(az,gy),K=2)
• SVM per cluster for speed prediction
38
❖Prediction of the horse speed
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Strides clustering: funHDDC(list(az,gy),K=2)
• SVM per cluster for speed prediction
• Computation of the percentage of error above 0,6 m/s
• Training dataset (80%), Test dataset (20%)
39
❖Prediction of the horse speed
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Strides clustering: funHDDC(list(az,gy),K=2)
• SVM per cluster for speed prediction
• Computation of the percentage of error above 0,6 m/s
• Training dataset (80%), Test dataset (20%)
40
❖Prediction of the horse speed
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Strides clustering: funHDDC(list(az,gy),K=2)
• SVM per cluster for speed prediction
• Computation of the percentage of error above 0,6 m/s
• Training dataset (80%), Test dataset (20%)
41
❖Prediction of the horse speed
11,6% of errors above 0,6 m/s
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective: Automate calculations to provide a tool to help riders
for their training
42
❖Automation in a smartphone app
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective: Automate calculations to provide a tool to help riders
for their training
• Use of predict function:
43
❖Automation in a smartphone app
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective: Automate calculations to provide a tool to help riders
for their training
• Use of predict function:
modelfunHDDC(list(az_tot,gy_tot),K=2,model=‘AkjBkQkDk’)
44
❖Automation in a smartphone app
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective: Automate calculations to provide a tool to help riders
for their training
• Use of predict function:
modelfunHDDC(list(az_tot,gy_tot),K=2,model=‘AkjBkQkDk’)
prediction predict(model,list(new_az,new_gy))
45
❖Automation in a smartphone app
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Objective: Automate calculations to provide a tool to help riders
for their training
• Use of predict function:
modelfunHDDC(list(az_tot,gy_tot),K=2,model=‘AkjBkQkDk’)
prediction predict(model,list(new_az,new_gy))
• SVM per cluster for speed prediction
46
❖Automation in a smartphone app
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• 35 cities distributed on all territory
• Temperature and pluviometry for 1 year
47
❖Weather stations Canada
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• 35 cities distributed on all territory
• Temperature and pluviometry for 1 year
res1 funHDDC(list(temp,pluvio), K=2:8, model=‘AkjBkQkDk’)
48
❖Weather stations Canada
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• 35 cities distributed on all territory
• Temperature and pluviometry for 1 year
res1 funHDDC(list(temp,pluvio), K=2:8, model=‘AkjBkQkDk’)
slopeheuristic(res1)
49
❖Weather stations Canada
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• 35 cities distributed on all territory
• Temperature and pluviometry for 1 year
res1 funHDDC(list(temp,pluvio), K=2:8, model=‘AkjBkQkDk’)
slopeheuristic(res1)
50
❖Weather stations Canada
Model complexity Number of tested clusters
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
51
❖Weather stations Canada
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
52
❖Weather stations Canada
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Main sources of variation
res.pca mfpca(list(daytempfd,dayprecfd))
53
❖Weather stations Canada
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Main sources of variation
res.pca mfpca(list(daytempfd,dayprecfd))
plot(res.pca)
54
❖Weather stations Canada
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• Main sources of variation
res.pca mfpca(list(daytempfd,dayprecfd))
plot(res.pca)
55
❖Weather stations Canada
Temperature variation
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
56
❖Weather stations Canada
→ Amplitude variation
Pluviometry variation
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
Introduction
Motivation example
Package
Practical examples
Conclusion
57
❖Contents
INTRODUCTION PACKAGEMOTIVATION EXAMPLES CONCLUSION
• New model which allows univariate and multivariate functional
clustering
• Paper & Simulations available on HAL
• Designing an R package available on:
https://cran.r-project.org/web/packages/funHDDC/index.html
• Coming:
Extension to co-clustering
58
❖Conclusion