análisisdeseriestemporals usandor:cluster, …r-es.org/9jornadasr/pdf/9jur_paper_24.pdf · 2017....
TRANSCRIPT
![Page 1: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/1.jpg)
Análisis deSeriesTemporalsusandoR:Cluster,ClasificaciónyContrastedeHipótesis
by
Pablo Montero José A. Vilar
26 Outubro, 2017
![Page 2: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/2.jpg)
Financiación
Ministerio de Economía y CompetitividadMTM2014-52876-RXunta de Galicia ED431C 2016-015
![Page 3: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/3.jpg)
1. Cluster2. Clasificación3. Contraste de Hipótesis
![Page 4: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/4.jpg)
Cluster
1. Propósito del Cluster2. Métodos Cluster en Series Temporales3. Validación
Con valores verdaderosSin valores verdaderos
![Page 5: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/5.jpg)
Propósito de Cluster
No hay una definición globalmente aceptada sobre qué es cluster“Agrupar los datos de manera que los objetos dentro decada grupo sonmás similares entre sí que a los de losotros grupos”“Extraer patrones interesantes de los datos”“Reducir la complejidad de los datos”Christian Hennig
![Page 6: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/6.jpg)
Cluster Basado enDistancias
Contamos con algunamanera para medir cuánto se parecendos series.Muchos métodos de cluster se reducen a trabajar con estascomparaciones directamente, no con los datos originales.
K-meansK-medoids (PAM)JerárquicoVersiones Fuzzy
![Page 7: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/7.jpg)
Distancias Entre Series TemporalesPodemos categorizar las distancias en las siguientes familias
Basadas en ModelosAjustar unmodelo de series temporales para cada serie, yse comparan los modelosInterpretabilidad
Basadas en características o datos en brutoBasadas en Complejidad
Teoría de la información: Información ConjuntaBasadas en Pronóstico (forecast)
Característico de Series TemporalesAsumen algún tipo demodelo para las series
![Page 8: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/8.jpg)
Práctica: Distancia+MétododeCluster
![Page 9: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/9.jpg)
Métodos de ClusterK-means
Cuidado en como se calcula el centro del grupoHacer la media de características o modelos suele notener sentidoCada distancia necesita de su método para obtener elcentro, fuera de la distancia euclídea no es trivial
K-medoidesSe substituye el centro por un centroide, un dato existenteen la muestraPermite trabajar con disimilaridades en generalMás robusto a atípicos
JerárquicoPermite trabajar con disimilaridades en generalSuele producir resultados interpretables que ayudan a suvez a escoger el número de clusters
![Page 10: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/10.jpg)
Distancias basadas enmodelos1. Se asume unmodelo o familia de modelos2. Se ajustan los parámetros del modelo para cada serie
Idealmente de manera automática3. Se comparan los parámetros del modelo
Distancia entre parámetrosP-valores al contrastar igualdad demodelos
ARARMAARIMAModelos autoregresivos no-paramétricos
Permiten al usuario capturar o despreciar comportamientosque no le interesan, como la parte estacional de las series
![Page 11: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/11.jpg)
Ejemplo R
#paquete TSclust contiene distancias entre series,# métodos de cluster, validación#y datasets de ejemplolibrary(TSclust)
#cargamos un dataset de datos simuladosdata(synthetic.tseries)
#pintamos unas seriesplot(synthetic.tseries[,c(1,4,7)])
![Page 12: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/12.jpg)
Series Simuladas de Modelos Autoregresivos
−4
02
4
AR
.1
−2
02
4
BIL
IN.1
−3
−1
13
0 50 100 150 200
EX
PAR
.1
Time
![Page 13: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/13.jpg)
Ejemplo R#aplicamos una distancia usando diss():#diss() aplica una distancia de TSclust#a todos los pares posibles de series# en nuestro dataset#y devuelve un objeto dist de R#que suelen usar los métodos de cluster
dCEPS <- diss(synthetic.tseries, ”AR.LPC.CEPS”)
#tomamos una distancia basada en modelos autoregresivos
#con el objeto dist dCEPS podemos hacer cluster#por ejemplo cluster jerárquico#se presta a la comparación visual
hcCEPS <- hclust(dCEPS)
![Page 14: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/14.jpg)
Distancias entre características o datos en bruto
Características como:AutocorrelacionesPeriodogramaCorrelación temporal entre seriesDensidad Espectral
Datos en bruto:Distancia EuclídeaDynamic TimeWarpingDistancia Levehshtein (Edit Distance) (paquete TSdist)Longest Common Subsequences (paquete TSdist)
![Page 15: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/15.jpg)
Ejemplo R
#apliquemos una distancia de datos en bruto# como la EuclídeadEUCL <- diss(synthetic.tseries, ”EUCL”)
#aplicamos el mismo método de cluster# que con la distancia basada en modeloshcEUCL <- hclust(dEUCL)
#comparemos visualmente las dosplot(hcEUCL)plot(hcCEPS)
![Page 16: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/16.jpg)
Resultado con distancia Euclídea
AR
.2
BIL
IN.3
SE
TAR
.3
BIL
IN.2
SE
TAR
.2
BIL
IN.1
SE
TAR
.1
AR
.1
AR
.3
EX
PAR
.2
NLA
R.2
NLA
R.1
NLA
R.3
EX
PAR
.1
EX
PAR
.3 STA
R.2
STA
R.1
STA
R.3
1525
3545
dEUCL
Hei
ght
![Page 17: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/17.jpg)
Resultado con distancia basada en modelo AR
AR
.1
AR
.2
AR
.3
STA
R.1
STA
R.2
STA
R.3
EX
PAR
.3
EX
PAR
.1
EX
PAR
.2
NLA
R.3
SE
TAR
.3
SE
TAR
.1
SE
TAR
.2
BIL
IN.3
NLA
R.1
NLA
R.2
BIL
IN.1
BIL
IN.2
0.0
0.5
1.0
1.5
dCEPS
Hei
ght
![Page 18: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/18.jpg)
Ejemplo R
#las distancias en TSclust tienen su# función individual#documentada y con referencia al artículo# en el que fueron publicadas?diss.AR.MAH
#esta distancia basada en modelos# produce un p-valor#del contraste que compara si dos series#tienen el mismo modelodMAH <- diss(synthetic.tseries, ”AR.MAH”)
![Page 19: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/19.jpg)
Ejemplo R
#TSclust tiene un método de cluster# basado en p-valores#que agrupa fijando un nivel de significación
#interés por interpretabilidad#en función de la significación#crea automáticamente#los clusters sin evidencias para separarlos
pvalues.clust(dMAH$p_value, 0.01)[1] 3 3 3 1 1 1 2 2 1 1 1 1 1 1 1 3 3 3
#menos conservador -> más clusterspvalues.clust(dMAH$p_value, 0.05)[1] 2 2 2 1 1 1 3 3 1 4 4 1 1 1 1 4 4 4
![Page 20: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/20.jpg)
Distancias basadas en Complejidad
Basadas en compresión para aproximar la complejidadNúmero de bits al comprimir las dos series concatenadasRelativo al número de bits al comprimir las series porseparado
Basada en la distribución de permutacionesQuémaneras hay de ordenar las subsecuencias de lasseries
![Page 21: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/21.jpg)
Ejemplo R
#cargar un dataset con series#de diferentes dominios#ECG, Sensores de movimiento,#Demanda eléctrica...data(”paired.tseries”)
#usamos la distancia PDC#del paquete pdc#incluida en TSclust por convenienciadPDC = diss(paired.tseries, ”PDC”, m=5,t=8)
plot(hclust(dPDC))
![Page 22: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/22.jpg)
Series de diferentes dominios
![Page 23: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/23.jpg)
Resultado con distancia basada en complejidad
Dffr
Dhg
eM
Ch1
MC
h2M
bb1
Mbb
2K
Es1
KE
s2K
Ef1
KE
f2 VS
Eg
VS
Eng
ER
SF
ER
GM
S:1
7t1
S:1
8t1
PD
:J−
M(D
PD
:A−
J(D
R2a
sR
2:t
PD
:J−
M(I
PD
:A−
J(I
FE
Ca
FE
Ct
GL(
EG
L(O
E:ff
E:v
fB
ll1B
2()
F:h
iF
:ci
BS
NS
BS
ES
VS
Ag
VS
Ang
01
23
4
dPDC
Hei
ght
![Page 24: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/24.jpg)
Distancias basadas en forecast
Se basan en comparar el comportamiento de las seriesen un horizonte futuro.Ejemplo motivador: Protocolo de Kyoto
Queremos agrupar países por como será sucomportamiento en 2020No nos interesa tanto toda su trayectoria pasada
Se ajusta unmodelo predictivo probabilístico y segeneran predicciones en el horizonte de interésSe comparan las densidades de las predicciones de cadaserie
![Page 25: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/25.jpg)
Series de tipos de interés
![Page 26: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/26.jpg)
Ejemplo R#aplicamos cluster basado en predicción#el método de predicción es un#autoregresivo no-paramétrico#que acepta transformaciones clásicas#diferenciación y logaritmos
#en este caso aplicamos las dos transformacionesdiffs <- rep(1, ncol(interest.rates))logs <- rep(TRUE, ncol(interest.rates))
?diss.PRED#comparamos las predicciones# a un horizonte de 6 añosdPRED <- diss(interest.rates, ”PRED”, h=6, B=1200, logarithms=logs,
differences=diffs, plot=TRUE)
plot(hclust(dPRED$dist))
![Page 27: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/27.jpg)
Densidades de predicción
![Page 28: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/28.jpg)
Resultado con distancia de predicción
Por
tuga
l
Spa
in
Italy
Irel
and
Sw
itzer
land
Japa
n
Den
mar
k
Ger
man
y
Sw
eden
US
A
Net
herla
nds
Fin
land Aus
tria
UK
Can
ada
EM
U
Fra
nce
Nor
way0.
01.
02.
0
dPRED$dist
Hei
ght
![Page 29: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/29.jpg)
Validación
Con valor de verdad (externos): Medimos lo lejos queestá una solución dada de la ideal
Índice de Rand AjustadoSin valor de verdad (internos): Criterios comohomogeneidad dentro de los cluster, separación entreclusters..
Coeficiente de silueta
![Page 30: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/30.jpg)
Ejemplo R#probamos con el datasaet inicial#de series temporales simuladas
#creamos el valor de verdad ”real”tssynthetic_truth <- rep(1:6, each=3)
#aplicamos cluster usando PAMpamCEPS <- pam(dCEPS, k=6)$clusteringpamEUCL <- pam(dEUCL, k=6)$clustering
#medida de evaluación implementada en TSclustcluster.evaluation(tssynthetic_truth, pamCEPS)[1] 0.875cluster.evaluation(tssynthetic_truth, pamEUCL)[1] 0.6944444
![Page 31: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/31.jpg)
Ejemplo R#el paquete fpc contiene medidas más populares#de evaluación#con valor de verdad como sin ellibrary(fpc)
cluster.stats(dCEPS, clustering=pamCEPS,alt.clustering=tssynthetic_truth )
$corrected.rand[1] 0.7702703$avg.silwidth[1] 0.6442922cluster.stats(dEUCL, clustering=pamEUCL,
alt.clustering=tssynthetic_truth )$corrected.rand[1] 0.5142857$avg.silwidth[1] 0.1225102
![Page 32: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/32.jpg)
ClasificacióndeSeriesTemporales
![Page 33: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/33.jpg)
El state of the art avanza muy rápidoSemide comparando los ratios de clasificación correctaen las bases de datos de timeseriesclassification.comBuenos resultados se pueden obtener usando distanciasentre series temporales + k-NN
Especialmente usando ensembles de distancias
![Page 34: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/34.jpg)
Ejemplo R#obtenemos un dataset de ejemplodownload.file(”http://timeseriesclassification.com/Downloads/ECG200.zip”,
”ECG200.zip”)unzip(”ECG200.zip”)
trainset <- as.matrix(read.arff(”ECG200/ECG200_TRAIN.arff”))class(trainset) <- ”numeric”trainclasses <- trainset[, ncol(trainset)]trainset <- trainset[,-ncol(trainset)]
dDTW <- diss(trainset, ”DTWARP”)#calculamos crossvalidation accuracy con TSclustloo1nn.cv(dDTW, trainclasses)
dCORT <- diss(trainset, ”CORT”)loo1nn.cv(dCORT, trainclasses)
![Page 35: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/35.jpg)
Ejemplo R#con TSclust y TSdist tenemos una gama de distancias que permite reproducir#métodos publicadosdEDR <- proxy::dist(trainset, EDRDistance, epsilon=0.1)loo1nn.cv(dEDR, trainclasses)
#cargamos el conjunto de testtestset <- as.matrix(read.arff(”ECG200/ECG200_TEST.arff”))class(testset) <- ”numeric”testclasses <- testset[, ncol(testset)]testset <- testset[,-ncol(testset)]#1-NN para las 3 distancias de ejemplopredclassesDTW <- apply(testset, 1,function (xts) {distances <- apply(trainset, 1,
function(yts) diss.DTWARP(xts, yts))trainclasses[which.min(distances)]})
![Page 36: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/36.jpg)
Ejemplo R#ensemble, majority voting ponderado por# loo1nn crossvalidationC <- unique(trainclasses)
C1 <- (predclassesEDR==C[1]) * loo1nn.cv(dEDR, trainclasses) +(predclassesCORT==C[1]) * loo1nn.cv(dCORT, trainclasses) +(predclassesDTW==C[1]) * loo1nn.cv(dDTW, trainclasses)
C2 <- (predclassesEDR==C[2]) * loo1nn.cv(dEDR, trainclasses) +(predclassesCORT==C[2]) * loo1nn.cv(dCORT, trainclasses) +(predclassesDTW==C[2]) * loo1nn.cv(dDTW, trainclasses)
mean(C[((C2 - C1) > 0) + 1] == testclasses)[1] 0.83
![Page 37: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/37.jpg)
ContrastedeHipótesisdeHomogeneidad
![Page 38: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/38.jpg)
Motivación
Se pretende responder a la siguiente pregunta: ¿Tienen dospoblaciones de series temporales la misma distribución?
Electrocardiogramas de pacientes y grupo de controlCapturas de pesca de distintos caladerosPatrones de voz de dos zonas geográficasPatrones de lluvia en distintas zonas
![Page 39: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/39.jpg)
Necesidad de aproximación específica a series temporales
Constrastes clásicos no son útiles por muchos motivosComplejidad inherente a las series temporalesDistinta longitud de las seriesSe desean algunas invarianzas, por ejemplo: cambios defase, aceleraciones/deceleraciones, volumen
![Page 40: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/40.jpg)
Método
Para atacar el problema utilizaremos también distanciasentre seriesCombinada con un test de hipótesis que acepta distintostipos de distnacias para comparar objetos
El estadístico energy
![Page 41: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/41.jpg)
Ejemplo R
#usamos el energy statisticlibrary(energy)
dSPEC = diss(synthetic.tseries, ”PER”)energy::eqdist.etest(dSPEC, c(9,9), R=10000)p-value = 0.0436
dEUCL = diss(synthetic.tseries, ”EUCL”)energy::eqdist.etest(dEUCL, c(9,9), R=10000)p-value = 0.478
![Page 42: AnálisisdeSeriesTemporals usandoR:Cluster, …r-es.org/9jornadasR/pdf/9JUR_paper_24.pdf · 2017. 11. 23. · AnálisisdeSeriesTemporals usandoR:Cluster, ClasificaciónyContrastede](https://reader035.vdocuments.site/reader035/viewer/2022071015/5fcde55502f6326661243b86/html5/thumbnails/42.jpg)
Conclusiones
Presentados métodos basados en distanciasCombinación de Distancia + Algoritmo
ClusterClasificaciónContraste de Hipótesis de Homogeneidad
PaquetesTSclustTSdistfpc, cluster