FSMUMI-package: Imputation of Time Series Based on Fuzzy Logic

Description Details Author(s) References Examples

Description

Filling large gaps in low or uncorrelated multivariate time series uses a new fuzzy weighted similarity measure. It contains all required functions to create large missing consecutive values within time series and then fill these gaps, according to the paper Phan et al. (2018), <DOI:10.1155/2018/9095683>. Performance indicators are also provided to compare similarity between two univariate signals (incomplete signal and imputed signal).

Details

Index: This package was not yet installed at build time.

Author(s)

Thi-Thu-Hong Phan, Andre Bigand, Emilie Poisson-Caillault

Maintainer: Thi Thu Hong Phan <ptthong@vnua.edu.vn>

References

Thi-Thu-Hong Phan, Andre Bigand, and Emilie Poisson Caillault, A New Fuzzy Logic-Based Similarity Measure Applied to Large Gap Imputation for Uncorrelated Multivariate Time Series, Applied Computational Intelligence and Soft Computing, vol. 2018, Article ID 9095683, 15 pages, 2018, <DOI:10.1155/2018/9095683>.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Load package dataset
data(dataFSMUMI)
X <- dataFSMUMI[1:3000,]


# Create gaps in multivariate time series
rate=0.01 # Percentage of missing values on a signal
ngaps=1 # Number of gaps on each signal
data <- Creating_gaps(X, rate,ngaps)

#Indexes of gaps
ind=Indexes_size_missing(data);

#Imputation parameters tuning
large_gap_threshold= 30
step_threshold=30
step_finding=10

# Fill gaps using FSMUMI algorithm
results_FSMUMI <- FSMUMImputation(data, large_gap_threshold, step_threshold, step_finding)

# Plot true values (black) and imputation values on the first signal 
Position_of_gap=max(1,ind[[1]][1,1]):min(ind[[1]][1,1]+ind[[1]][1,2])
plot(Position_of_gap,X[Position_of_gap,1], type = "l",ylab="Value")
lines(Position_of_gap,results_FSMUMI[Position_of_gap,1], col = "red", lty = "dashed")

# Compute the similarity between the first imputed signal and the first real signal
compute.sim(X[,1], results_FSMUMI[,1])

# Compute the RMSE  between the first imputed signal and the first real signal
compute.rmse(X[,1], results_FSMUMI[,1])

# Compute the FA2  between the first imputed signal and the first real signal
compute.fa2(X[,1], results_FSMUMI[,1])

# Compute the FSD  between the first imputed signal and the first real signal
compute.fsd(X[,1], results_FSMUMI[,1])

# Compute the FB  between the first imputed signal and the first real signal
compute.fb(X[,1], results_FSMUMI[,1])

FSMUMI documentation built on May 2, 2019, 12:40 p.m.