Ethereum is a decentralized blockchain platform that establishes a peer-to-peer network that securely executes and verifies application code, called smart contracts.

Smart contracts allow participants to transact with each other without a trusted central authority. Transaction records are immutable, verifiable, and securely distributed across the network, giving participants full ownership and visibility into transaction data.

This dataset has records of 2 years of historical data regarding ETH’s pricing: daily price and the changes within the day, highest and lowest prices for every single day help in identifying patterns at the minuscule level and volume per day is also recorded.

The analysis has been performed throw RStudio and it contains an exploratory data analysis, principal component analysis and clustering.

The dataset contains 730 observations of 7 variables:

library(skimr)
## Warning: il pacchetto 'skimr' è stato creato con R versione 4.1.3
library(DataExplorer)
library(gamlss)
## Warning: il pacchetto 'gamlss' è stato creato con R versione 4.1.3
## Caricamento del pacchetto richiesto: splines
## Caricamento del pacchetto richiesto: gamlss.data
## 
## Caricamento pacchetto: 'gamlss.data'
## Il seguente oggetto è mascherato da 'package:datasets':
## 
##     sleep
## Caricamento del pacchetto richiesto: gamlss.dist
## Warning: il pacchetto 'gamlss.dist' è stato creato con R versione 4.1.3
## Caricamento del pacchetto richiesto: MASS
## Warning: il pacchetto 'MASS' è stato creato con R versione 4.1.3
## Caricamento del pacchetto richiesto: nlme
## Warning: il pacchetto 'nlme' è stato creato con R versione 4.1.3
## Caricamento del pacchetto richiesto: parallel
##  **********   GAMLSS Version 5.4-3  **********
## For more on GAMLSS look at https://www.gamlss.com/
## Type gamlssNews() to see new features/changes/bug fixes.
library(ggplot2)
## Warning: il pacchetto 'ggplot2' è stato creato con R versione 4.1.3
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(clValid)
## Caricamento del pacchetto richiesto: cluster
## Warning: il pacchetto 'cluster' è stato creato con R versione 4.1.3
data <- read.csv(choose.files())
data$Date <- as.Date(data$Date,format='%Y-%m-%d')
skim(data)
Data summary
Name data
Number of rows 730
Number of columns 7
_______________________
Column type frequency:
Date 1
numeric 6
________________________
Group variables None

Variable type: Date

skim_variable n_missing complete_rate min max median n_unique
Date 0 1 2020-06-16 2022-06-15 2021-06-15 730

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Open 0 1 2.114390e+03 1.304650e+03 2.229100e+02 6.087500e+02 2.163080e+03 3.138840e+03 4.810070e+03 ▇▅▆▆▃
High 0 1 2.183090e+03 1.341430e+03 2.286000e+02 6.251000e+02 2.274890e+03 3.226570e+03 4.891700e+03 ▇▅▆▆▃
Low 0 1 2.035180e+03 1.261370e+03 2.194700e+02 5.846700e+02 2.082860e+03 3.037140e+03 4.718040e+03 ▇▅▆▆▂
Close 0 1 2.115080e+03 1.302550e+03 2.229600e+02 6.102700e+02 2.163480e+03 3.138230e+03 4.812090e+03 ▇▅▆▆▃
Adj.Close 0 1 2.115080e+03 1.302550e+03 2.229600e+02 6.102700e+02 2.163480e+03 3.138230e+03 4.812090e+03 ▇▅▆▆▃
Volume 0 1 2.105417e+10 1.118971e+10 5.109033e+09 1.357175e+10 1.826301e+10 2.551322e+10 8.448291e+10 ▇▃▁▁▁
plot_intro(data)

plot_density(data)

sdf <- apply(data[,2:7], 2, scale)
boxplot(sdf)

pairs(data, size=2)
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side, at = z, labels = labels, ...): parametro grafico "size"
## non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side, at = z, labels = labels, ...): parametro grafico "size"
## non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in plot.xy(xy.coords(x, y), type = type, ...): parametro grafico "size"
## non valido
## Warning in plot.window(...): parametro grafico "size" non valido
## Warning in plot.xy(xy, type, ...): parametro grafico "size" non valido
## Warning in title(...): parametro grafico "size" non valido
## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido

## Warning in axis(side = side, at = at, labels = labels, ...): parametro grafico
## "size" non valido

In addition, before starting with the clustering analysis, univariate analysis has been performed for each variable:

fitDist(data$Open, type = c("realAll"))
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |=                                                                     |   2%
  |                                                                            
  |===                                                                   |   4%
  |                                                                            
  |====                                                                  |   6%
  |                                                                            
  |=====                                                                 |   8%
  |                                                                            
  |=======                                                               |  10%
  |                                                                            
  |========                                                              |  12%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==========                                                            |  14%
  |                                                                            
  |===========                                                           |  16%
## Warning in MLE(ll3, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |============                                                          |  18%
## Warning in MLE(ll3, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==============                                                        |  20%
  |                                                                            
  |===============                                                       |  22%
  |                                                                            
  |================                                                      |  24%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==================                                                    |  25%
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |=====================                                                 |  29%
  |                                                                            
  |======================                                                |  31%
  |                                                                            
  |=======================                                               |  33%
  |                                                                            
  |=========================                                             |  35%
  |                                                                            
  |==========================                                            |  37%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |===========================                                           |  39%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 iteration limit reached without
## convergence (10)
## Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 7.52199e-23
## 
  |                                                                            
  |=============================                                         |  41%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |==============================                                        |  43%
  |                                                                            
  |================================                                      |  45%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |=================================                                     |  47%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |==================================                                    |  49%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |====================================                                  |  51%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |=====================================                                 |  53%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 2.09e-16
## 
  |                                                                            
  |======================================                                |  55%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |========================================                              |  57%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |===========================================                           |  61%
  |                                                                            
  |============================================                          |  63%
  |                                                                            
  |=============================================                         |  65%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |================================================                      |  69%
  |                                                                            
  |=================================================                     |  71%
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |====================================================                  |  75%
  |                                                                            
  |======================================================                |  76%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |=======================================================               |  78%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |========================================================              |  80%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==========================================================            |  82%
  |                                                                            
  |===========================================================           |  84%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |==============================================================        |  88%
  |                                                                            
  |===============================================================       |  90%
  |                                                                            
  |=================================================================     |  92%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |==================================================================    |  94%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |===================================================================   |  96%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |===================================================================== |  98%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |======================================================================| 100%
## 
## Family:  c("SEP2", "Skew Exponential Power type 2") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = y, family = DIST[i]) 
## 
## Mu Coefficients:
## [1]  2640
## Sigma Coefficients:
## [1]  7.779
## Nu Coefficients:
## [1]  -5.197e+09
## Tau Coefficients:
## [1]  6.013
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12179.9 
##             AIC:     12187.9 
##             SBC:     12206.2
histDist(data$Open, family=SEP2, nbins = 50, main="Skew Exponential Power type 2 Distribution - Open variable")
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 iteration limit reached without
## convergence (10)
## Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 7.52199e-23

## 
## Family:  c("SEP2", "Skew Exponential Power type 2") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = data$Open, family = "SEP2") 
## 
## Mu Coefficients:
## [1]  2640
## Sigma Coefficients:
## [1]  7.779
## Nu Coefficients:
## [1]  -5.197e+09
## Tau Coefficients:
## [1]  6.013
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12179.9 
##             AIC:     12187.9 
##             SBC:     12206.2
fitDist(data$High, type = c("realAll"))
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |=                                                                     |   2%
  |                                                                            
  |===                                                                   |   4%
  |                                                                            
  |====                                                                  |   6%
  |                                                                            
  |=====                                                                 |   8%
  |                                                                            
  |=======                                                               |  10%
  |                                                                            
  |========                                                              |  12%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==========                                                            |  14%
  |                                                                            
  |===========                                                           |  16%
  |                                                                            
  |============                                                          |  18%
## Warning in MLE(ll3, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==============                                                        |  20%
  |                                                                            
  |===============                                                       |  22%
  |                                                                            
  |================                                                      |  24%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==================                                                    |  25%
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |=====================                                                 |  29%
  |                                                                            
  |======================                                                |  31%
  |                                                                            
  |=======================                                               |  33%
  |                                                                            
  |=========================                                             |  35%
  |                                                                            
  |==========================                                            |  37%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |===========================                                           |  39%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 singular convergence (7)
## 
  |                                                                            
  |=============================                                         |  41%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==============================                                        |  43%
  |                                                                            
  |================================                                      |  45%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |=================================                                     |  47%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |==================================                                    |  49%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |====================================                                  |  51%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |=====================================                                 |  53%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 3.78729e-18
## 
  |                                                                            
  |======================================                                |  55%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |========================================                              |  57%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |===========================================                           |  61%
  |                                                                            
  |============================================                          |  63%
  |                                                                            
  |=============================================                         |  65%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |================================================                      |  69%
  |                                                                            
  |=================================================                     |  71%
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |====================================================                  |  75%
  |                                                                            
  |======================================================                |  76%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |=======================================================               |  78%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |========================================================              |  80%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==========================================================            |  82%
  |                                                                            
  |===========================================================           |  84%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |==============================================================        |  88%
  |                                                                            
  |===============================================================       |  90%
  |                                                                            
  |=================================================================     |  92%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |==================================================================    |  94%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |===================================================================   |  96%
  |                                                                            
  |===================================================================== |  98%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |======================================================================| 100%
## 
## Family:  c("SEP2", "Skew Exponential Power type 2") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = y, family = DIST[i]) 
## 
## Mu Coefficients:
## [1]  2571
## Sigma Coefficients:
## [1]  7.758
## Nu Coefficients:
## [1]  -353741290
## Tau Coefficients:
## [1]  8.37
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12291.7 
##             AIC:     12299.7 
##             SBC:     12318
histDist(data$High, family=SEP2, nbins = 50, main="Skew Exponential Power type 2 Distribution - High variable")
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 singular convergence (7)

## 
## Family:  c("SEP2", "Skew Exponential Power type 2") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = data$High, family = "SEP2") 
## 
## Mu Coefficients:
## [1]  2571
## Sigma Coefficients:
## [1]  7.758
## Nu Coefficients:
## [1]  -353741290
## Tau Coefficients:
## [1]  8.37
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12291.7 
##             AIC:     12299.7 
##             SBC:     12318
histDist(data$Low, family=SEP2, nbins = 50, main="Skew Exponential Power type 2 Distribution - Low variable")

## 
## Family:  c("SEP2", "Skew Exponential Power type 2") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = data$Low, family = "SEP2") 
## 
## Mu Coefficients:
## [1]  2561
## Sigma Coefficients:
## [1]  7.713
## Nu Coefficients:
## [1]  -55.12
## Tau Coefficients:
## [1]  4.25
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12156.6 
##             AIC:     12164.6 
##             SBC:     12182.9
fitDist(data$Close, type = c("realAll"))
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |=                                                                     |   2%
  |                                                                            
  |===                                                                   |   4%
  |                                                                            
  |====                                                                  |   6%
  |                                                                            
  |=====                                                                 |   8%
  |                                                                            
  |=======                                                               |  10%
  |                                                                            
  |========                                                              |  12%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==========                                                            |  14%
  |                                                                            
  |===========                                                           |  16%
## Warning in MLE(ll3, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |============                                                          |  18%
  |                                                                            
  |==============                                                        |  20%
  |                                                                            
  |===============                                                       |  22%
  |                                                                            
  |================                                                      |  24%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==================                                                    |  25%
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |=====================                                                 |  29%
  |                                                                            
  |======================                                                |  31%
  |                                                                            
  |=======================                                               |  33%
  |                                                                            
  |=========================                                             |  35%
  |                                                                            
  |==========================                                            |  37%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |===========================                                           |  39%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 iteration limit reached without
## convergence (10)
## Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |=============================                                         |  41%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |==============================                                        |  43%
  |                                                                            
  |================================                                      |  45%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |=================================                                     |  47%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |==================================                                    |  49%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |====================================                                  |  51%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |=====================================                                 |  53%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 2.37092e-17
## 
  |                                                                            
  |======================================                                |  55%
  |                                                                            
  |========================================                              |  57%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |===========================================                           |  61%
  |                                                                            
  |============================================                          |  63%
  |                                                                            
  |=============================================                         |  65%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |================================================                      |  69%
  |                                                                            
  |=================================================                     |  71%
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |====================================================                  |  75%
  |                                                                            
  |======================================================                |  76%
  |                                                                            
  |=======================================================               |  78%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |========================================================              |  80%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==========================================================            |  82%
  |                                                                            
  |===========================================================           |  84%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |==============================================================        |  88%
  |                                                                            
  |===============================================================       |  90%
  |                                                                            
  |=================================================================     |  92%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |==================================================================    |  94%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |===================================================================   |  96%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |===================================================================== |  98%
  |                                                                            
  |======================================================================| 100%
## 
## Family:  c("SEP3", "skew exponential power type 3") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = y, family = DIST[i]) 
## 
## Mu Coefficients:
## [1]  223
## Sigma Coefficients:
## [1]  0.5794
## Nu Coefficients:
## [1]  7.672
## Tau Coefficients:
## [1]  2.197
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12242.5 
##             AIC:     12250.5 
##             SBC:     12268.9
histDist(data$Close, family=SEP3, nbins = 50, main="Skew Exponential Power type 3 Distribution - Close variable")
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)

## 
## Family:  c("SEP3", "skew exponential power type 3") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = data$Close, family = "SEP3") 
## 
## Mu Coefficients:
## [1]  223
## Sigma Coefficients:
## [1]  0.5794
## Nu Coefficients:
## [1]  7.672
## Tau Coefficients:
## [1]  2.197
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12242.5 
##             AIC:     12250.5 
##             SBC:     12268.9
fitDist(data$Adj.Close, type = c("realAll"))
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |=                                                                     |   2%
  |                                                                            
  |===                                                                   |   4%
  |                                                                            
  |====                                                                  |   6%
  |                                                                            
  |=====                                                                 |   8%
  |                                                                            
  |=======                                                               |  10%
  |                                                                            
  |========                                                              |  12%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==========                                                            |  14%
  |                                                                            
  |===========                                                           |  16%
## Warning in MLE(ll3, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |============                                                          |  18%
  |                                                                            
  |==============                                                        |  20%
  |                                                                            
  |===============                                                       |  22%
  |                                                                            
  |================                                                      |  24%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==================                                                    |  25%
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |=====================                                                 |  29%
  |                                                                            
  |======================                                                |  31%
  |                                                                            
  |=======================                                               |  33%
  |                                                                            
  |=========================                                             |  35%
  |                                                                            
  |==========================                                            |  37%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |===========================                                           |  39%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 iteration limit reached without
## convergence (10)
## Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |=============================                                         |  41%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |==============================                                        |  43%
  |                                                                            
  |================================                                      |  45%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |=================================                                     |  47%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |==================================                                    |  49%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |====================================                                  |  51%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |=====================================                                 |  53%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 2.37092e-17
## 
  |                                                                            
  |======================================                                |  55%
  |                                                                            
  |========================================                              |  57%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |===========================================                           |  61%
  |                                                                            
  |============================================                          |  63%
  |                                                                            
  |=============================================                         |  65%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |================================================                      |  69%
  |                                                                            
  |=================================================                     |  71%
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |====================================================                  |  75%
  |                                                                            
  |======================================================                |  76%
  |                                                                            
  |=======================================================               |  78%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |========================================================              |  80%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==========================================================            |  82%
  |                                                                            
  |===========================================================           |  84%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |==============================================================        |  88%
  |                                                                            
  |===============================================================       |  90%
  |                                                                            
  |=================================================================     |  92%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |==================================================================    |  94%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[4,4] = 0
## 
  |                                                                            
  |===================================================================   |  96%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)
## 
  |                                                                            
  |===================================================================== |  98%
  |                                                                            
  |======================================================================| 100%
## 
## Family:  c("SEP3", "skew exponential power type 3") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = y, family = DIST[i]) 
## 
## Mu Coefficients:
## [1]  223
## Sigma Coefficients:
## [1]  0.5794
## Nu Coefficients:
## [1]  7.672
## Tau Coefficients:
## [1]  2.197
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12242.5 
##             AIC:     12250.5 
##             SBC:     12268.9
histDist(data$Adj.Close, family=SEP3, nbins = 50, main="Skew Exponential Power type 3 Distribution - Adj.Close variable")
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 function evaluation limit
## reached without convergence (9)

## 
## Family:  c("SEP3", "skew exponential power type 3") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = data$Adj.Close, family = "SEP3") 
## 
## Mu Coefficients:
## [1]  223
## Sigma Coefficients:
## [1]  0.5794
## Nu Coefficients:
## [1]  7.672
## Tau Coefficients:
## [1]  2.197
## 
##  Degrees of Freedom for the fit: 4 Residual Deg. of Freedom   726 
## Global Deviance:     12242.5 
##             AIC:     12250.5 
##             SBC:     12268.9
fitDist(data$Volume, type = c("realAll"))
## Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |=                                                                     |   2%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |===                                                                   |   4%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 2.59645e-19
## 
  |                                                                            
  |====                                                                  |   6%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |=====                                                                 |   8%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |=======                                                               |  10%
  |                                                                            
  |========                                                              |  12%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |==========                                                            |  14%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |===========                                                           |  16%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 2.76923e-18
## 
  |                                                                            
  |============                                                          |  18%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 1.41663e-18
## 
  |                                                                            
  |==============                                                        |  20%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |===============                                                       |  22%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 1.62046e-19
## 
  |                                                                            
  |================                                                      |  24%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[3,3] = 0
## 
  |                                                                            
  |==================                                                    |  25%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 3.68355e-18
## 
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |=====================                                                 |  29%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |======================                                                |  31%
  |                                                                            
  |=======================                                               |  33%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |=========================                                             |  35%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 4.50379e-19
## 
  |                                                                            
  |==========================                                            |  37%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |===========================                                           |  39%
## Warning in MLE(ll4, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma, :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |=============================                                         |  41%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |==============================                                        |  43%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 5.66656e-18
## 
  |                                                                            
  |================================                                      |  45%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |=================================                                     |  47%
  |                                                                            
  |==================================                                    |  49%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 3.57974e-19
## 
  |                                                                            
  |====================================                                  |  51%
  |                                                                            
  |=====================================                                 |  53%
  |                                                                            
  |======================================                                |  55%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |========================================                              |  57%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |===========================================                           |  61%
  |                                                                            
  |============================================                          |  63%
  |                                                                            
  |=============================================                         |  65%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |================================================                      |  69%
  |                                                                            
  |=================================================                     |  71%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |====================================================                  |  75%
  |                                                                            
  |======================================================                |  76%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |=======================================================               |  78%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |========================================================              |  80%
## Warning in MLE(ll2, start = list(eta.mu = eta.mu, eta.sigma = eta.sigma), :
## possible convergence problem: optim gave code=1 false convergence (8)
## 
  |                                                                            
  |==========================================================            |  82%Error in solve.default(oout$hessian) : 
##   Routine Lapack dgesv: il sistema è esattamente singolare: U[1,1] = 0
## 
  |                                                                            
  |===========================================================           |  84%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |==============================================================        |  88%
  |                                                                            
  |===============================================================       |  90%
  |                                                                            
  |=================================================================     |  92%
  |                                                                            
  |==================================================================    |  94%
  |                                                                            
  |===================================================================   |  96%
  |                                                                            
  |===================================================================== |  98%Error in solve.default(oout$hessian) : 
##   il sistema è computazionalmente singolare: numero di condizione reciproca = 3.54593e-18
## 
  |                                                                            
  |======================================================================| 100%
## 
## Family:  c("LOGNO2", "Log Normal 2") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = y, family = DIST[i]) 
## 
## Mu Coefficients:
## [1]  23.65
## Sigma Coefficients:
## [1]  -0.7106
## 
##  Degrees of Freedom for the fit: 2 Residual Deg. of Freedom   728 
## Global Deviance:     35560.3 
##             AIC:     35564.3 
##             SBC:     35573.5
histDist(data$Volume, family=LOGNO2, nbins = 50, main="Skew Exponential Power type 2 Distribution - Volume variable")

## 
## Family:  c("LOGNO2", "Log Normal 2") 
## Fitting method: "nlminb" 
## 
## Call:  gamlssML(formula = data$Volume, family = "LOGNO2") 
## 
## Mu Coefficients:
## [1]  23.65
## Sigma Coefficients:
## [1]  -0.7106
## 
##  Degrees of Freedom for the fit: 2 Residual Deg. of Freedom   728 
## Global Deviance:     35560.3 
##             AIC:     35564.3 
##             SBC:     35573.5

There aren’t any missing values and all the variables are continuous instead of the ‘Date’ variable. As the boxplot shows, the first five variables are almost the same instead for the ‘Volume’ variable which is the only one that collect outliers. From the plot of the original space we can clearly see that the first five variables are highly positive correlated instead of the ‘Volume’ variable, for this reason I decided to categorize the last variable and to use it as external information.

categories <- cut(data$Volume, breaks = 3, labels = c("low", "medium", "high"), include_lowest=T)
data$Volume <- categories

Before starting, as the variables are highly correlated, the dimentionality reduction technique has been performed to better reproduce the cluster analysis into two dimention space.

df <- apply(data[,2:6], 2, scale)
cov <- cov(df)
eigen <- eigen(cov)
phi <- eigen$vectors
phi <- -phi
colnames(phi) <- c("PC1", "PC2", 'PC3', 'PC4', 'PC5')
PC1 <- df %*% phi[,1]
PC2 <- df %*% phi[,2]
PC3 <- df %*% phi[,3]
PC4 <- df %*% phi[,4]
PC5 <- df %*% phi[,5]
PC <- data.frame(PC1, PC2, PC3, PC4, PC5)

Throw the eigendecomposition of the covariance matrix it’s possible to compute the phi matrix (which has been signed-flipped for a better graphical interpretation), which represents the weight of each variable. Then, throw the matrix multiplication we obtain the final Principal Component matrix. I computed the optimal number of components throw the cumulative proportion of variance explained, the Kaiser’s rule and the Scree plot:

PVE <- eigen$values/sum(eigen$values)
PVE <-round(PVE, 3)
cumsum(PVE)
## [1] 0.998 0.999 1.000 1.000 1.000
pr.out <- prcomp(df, scale=FALSE)
pr.var <- pr.out$sdev^2
which(pr.var>1)
## [1] 1
ggplot2:::qplot(c(1:5), cumsum(PVE)) +
  geom_line() +
  xlab("Principal Component") +
  ylab(NULL) +
  ggtitle("Cumulative Scree Plot") +
  ylim(0,1)

The optimal number of Principal Component appears to be 2. The final biplot represents the Principal Component space and the vector represent the variables: the nearest the row is to the Principal Component axix, the more that variable is correlated with those Principal Component.

pr.out <- prcomp(df, scale=FALSE)
factoextra:::fviz_pca_biplot(pr.out, axes=c(1,2), geom='point')

PC <- PC[1:2]
plot(PC)

To compute the clustering analysis I used a function on R that automatically compute the optimal algorithm:

clmethods <- c("hierarchical","kmeans","pam")
internal <- clValid(df, nClust = 2:10, clMethods = clmethods, validation = "internal", maxitems=90000)
## Warning in clValid(df, nClust = 2:10, clMethods = clmethods, validation =
## "internal", : rownames for data not specified, using 1:nrow(data)
stability <- clValid(df, nClust = 2:10, clMethods = clmethods, validation = "stability", maxitems=90000)
## Warning in clValid(df, nClust = 2:10, clMethods = clmethods, validation =
## "stability", : rownames for data not specified, using 1:nrow(data)
optimalScores(internal)
optimalScores(stability)

The best scored algorithms are hierarchical and k-medoid with two clusters, so both clustering analysis has been performed below. Regarding the hierarchical clustering, the cophenetic distance matrix will help us understand the optimal combination between linkage criterion and distance to use:

euclid <- stats:::dist(df, method = "euclidean")
manhattan <- stats:::dist(df, method = "manhattan")
minkowski <- stats:::dist(df, method = "minkowski")

single_euclid <- stats:::hclust(d = euclid, method = "single")
complete_euclid <- stats:::hclust(d = euclid, method = "complete")
average_euclid <- stats:::hclust(d = euclid, method = "average")
ward_euclid <- stats:::hclust(d = euclid, method = "ward.D2")
centroid_euclid <- stats:::hclust(d = euclid, method = "centroid")

single_manhattan <- stats:::hclust(d = manhattan, method = "single")
complete_manhattan <- stats:::hclust(d = manhattan, method = "complete")
average_manhattan <- stats:::hclust(d = manhattan, method = "average")
ward_manhattan <- stats:::hclust(d = manhattan, method = "ward.D2")
centroid_manhattan <- stats:::hclust(d = manhattan, method = "centroid")

single_minkowski <- stats:::hclust(d = minkowski, method = "single")
complete_minkowski <- stats:::hclust(d = minkowski, method = "complete")
average_minkowski <- stats:::hclust(d = minkowski, method = "average")
ward_minkowski <- stats:::hclust(d = minkowski, method = "ward.D2")
centroid_minkowski <- stats:::hclust(d = minkowski, method = "centroid")

Euclidean <- c(cor(euclid, stats:::cophenetic(single_euclid)), cor(euclid, stats:::cophenetic(complete_euclid)), cor(euclid, stats:::cophenetic(average_euclid)), cor(euclid, stats:::cophenetic(ward_euclid)), cor(euclid, stats:::cophenetic(centroid_euclid)))
Manhattan <- c(cor(manhattan, stats:::cophenetic(single_manhattan)), cor(manhattan, stats:::cophenetic(complete_manhattan)), cor(manhattan, stats:::cophenetic(average_manhattan)), cor(manhattan, stats:::cophenetic(ward_manhattan)), cor(manhattan, stats:::cophenetic(centroid_manhattan)))
Minkowski <- c(cor(minkowski, stats:::cophenetic(single_minkowski)), cor(minkowski, stats:::cophenetic(complete_minkowski)), cor(minkowski, stats:::cophenetic(average_minkowski)), cor(minkowski, stats:::cophenetic(ward_minkowski)), cor(minkowski, stats:::cophenetic(centroid_minkowski)))
cophenetic.distance_matrix <- data.frame(Euclidean, Manhattan, Minkowski)
rownames(cophenetic.distance_matrix) <- c('Single', 'Complete', 'Average', 'Ward', 'Centroid')
cophenetic.distance_matrix

As it’s possible to see, the best combination appears to be average linkage criterion with both Euclidean and Minkowski, so I decided to use the Euclidean distance.

factoextra:::fviz_dend(average_euclid, cex = 0.5, k=2, main='Euclidean distance - average linkage',show_labels=FALSE)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.

As PCA has been performed, it’s possible to visualize the hierarchical clustering analysis on the Principal Component space:

res.pca <- FactoMineR:::PCA(data[,2:6], ncp=2, graph=FALSE)
res.hcpc <- FactoMineR:::HCPC(res.pca, nb.clust=-1, min=2, graph=FALSE)
factoextra:::fviz_dend(res.hcpc, cex=0.7, palette='jco', rect=TRUE, rect_fill=TRUE, rect_border='jco', show_labels=FALSE)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.

The p-value also shows optimal results:

pv <- pvclust:::parPvclust(data=df, method.hclust = "average", method.dist = "euclidean", nboot = 10)
## Registered S3 method overwritten by 'pvclust':
##   method       from      
##   text.pvclust dendextend
## Warning in pvclust:::parPvclust(data = df, method.hclust = "average", method.dist = "euclidean", : "parPvclust" has been integrated into pvclust (with "parallel" option).
## It is available for back compatibility but will be unavailable in the future.
## Warning in pvclust.parallel(cl = cl, data = data, method.hclust =
## method.hclust, : Cluster size is too small (or NULL). non-parallel version is
## executed
## Bootstrap (r = 0.5)... Done.
## Bootstrap (r = 0.6)... Done.
## Bootstrap (r = 0.7)... Done.
## Bootstrap (r = 0.8)... Done.
## Bootstrap (r = 0.9)... Done.
## Bootstrap (r = 1.0)... Done.
## Bootstrap (r = 1.1)... Done.
## Bootstrap (r = 1.2)... Done.
## Bootstrap (r = 1.3)... Done.
## Bootstrap (r = 1.4)... Done.
plot(pv, hang=-1)
pvclust:::pvrect(pv)

hclust_validation <- factoextra:::eclust(df, "hclust", k = 2, nstart = 25, graph = FALSE, hc_metric='euclidean', hc_method='average')
table(data$Volume, hclust_validation$cluster)
##         
##            1   2
##   low    201 425
##   medium   0  97
##   high     0   7

As we can see from the external validation, the Volume variable doesn’t seems to be the main logic of the clustering.

According to the k-medoid clustering, we can visualize it in both original and PCA space:

pam <- cluster:::pam(df,2,metric='euclidean')
fviz_cluster(pam)

pairs(df, pch=16, cex=0.5, col=pam$cluster)

table(data$Volume, pam$cluster)
##         
##            1   2
##   low    225 401
##   medium  29  68
##   high     1   6

Also in this case, throw the contingrncy matrix we can see that the external factor doesn’t contribute to the clustering.