Linear Regression and Time Series Model_WW for 1,4 DiOxane

Author

Callistus Obunadike

setwd("C:/Users/obunadic8159/OneDrive - ARCADIS/Desktop/Data_Analysis_11DCE_14DOX/Recent_New_Data/WW")
#Load necessary libraries
#install.packages("car")
#install.packages("corrplot")
#install.packages("MASS")
#install.packages("lmtest")
library(MASS)
library(dplyr)
library(ggplot2)
library(caret)
library(car)
library(corrplot)
library(e1071)
library(forecast)
library(lubridate)
library(lmtest)

Importing the Data from our directory

# Load the dataset
data <- read.csv("C:/Users/obunadic8159/OneDrive - ARCADIS/Desktop/Data_Analysis_11DCE_14DOX/Recent_New_Data/WW/14DOX.csv")

Visualizing the Data Type and Structure

##################Checking the Data Type and Structure ###############
head(data)
  SiteName      Date Quarter   X14DOX
1     WW01 7/16/2015      Q3 0.000592
2     WW01 8/24/2015      Q3 0.000592
3     WW01 8/24/2015      Q3 0.000592
4     WW01 9/28/2015      Q3 0.000592
5     WW01 11/3/2015      Q4 0.000592
6     WW01 12/8/2015      Q4 0.000592
str(data)
'data.frame':   2680 obs. of  4 variables:
 $ SiteName: chr  "WW01" "WW01" "WW01" "WW01" ...
 $ Date    : chr  "7/16/2015" "8/24/2015" "8/24/2015" "9/28/2015" ...
 $ Quarter : chr  "Q3" "Q3" "Q3" "Q3" ...
 $ X14DOX  : num  0.000592 0.000592 0.000592 0.000592 0.000592 0.000592 0.000592 0.000592 0.00017 0.000189 ...

Convert Date to Date format and factorizing Site Name

# Convert Date to Date format and factorize SiteName
data$Date <- as.Date(data$Date, format="%m/%d/%Y")
data$SiteName <- as.factor(data$SiteName)

Checking for Missing data using For-Loop

#### Handling Missing Data
vnames <- colnames(data)
n <- nrow(data)
out <- NULL
for (j in 1:ncol(data)){
  vname <- colnames(data)[j]
  x <- as.vector(data[,j])
  n1 <- sum(is.na(x), na.rm=TRUE)  # NA
  n2 <- sum(x=="NA", na.rm=TRUE) # "NA"
  n3 <- sum(x==" ", na.rm=TRUE)  # missing
  nmiss <- n1 + n2 + n3
  nmiss <- sum(is.na(x))
  ncomplete <- n-nmiss
  out <- rbind(out, c(col.num=j, v.name=vname, mode=mode(x),
                      n.level=length(unique(x)),
                      ncom=ncomplete, nmiss= nmiss, miss.prop=nmiss/n))
}
out <- as.data.frame(out)
row.names(out) <- NULL
out
  col.num   v.name      mode n.level ncom nmiss miss.prop
1       1 SiteName character     131 2680     0         0
2       2     Date   numeric     531 2680     0         0
3       3  Quarter character       4 2680     0         0
4       4   X14DOX   numeric     964 2680     0         0
for (j in 1:NCOL(data)){
  print(head(colnames(data)[j]))
  print(head(table(data[,j], useNA="ifany")))
}
[1] "SiteName"

WW01 WW02 WW03 WW04 WW06 WW07 
  28   23   52   50   33   20 
[1] "Date"

2015-07-16 2015-07-17 2015-08-18 2015-08-20 2015-08-21 2015-08-22 
         6          3          1          2         12          8 
[1] "Quarter"

 Q1  Q2  Q3  Q4 
669 614 726 671 
[1] "X14DOX"

 6.5e-05  6.6e-05  0.00012  0.00013  0.00015 0.000163 
      29        1        1        1        1        1 

Checking for Outliers using Boxplot

# Check for outliers using boxplots for 14DOX
ggplot(data, aes(x = SiteName, y = X14DOX)) + geom_boxplot() + ggtitle("Boxplot for 14DOX by SiteName")

Calculating and Filtering Outliers in 1,4-DiOxane

# Calculate IQR and detect outliers for 14DOX
Q1_14DOX <- quantile(data$X14DOX, 0.25)
Q3_14DOX <- quantile(data$X14DOX, 0.75)
IQR_14DOX <- Q3_14DOX - Q1_14DOX
outliers_14DOX <- data %>% filter(X14DOX < (Q1_14DOX - 1.5 * IQR_14DOX) | X14DOX > (Q3_14DOX + 1.5 * IQR_14DOX))

There are 328 observations of 1,4DiOxane (14DOX) with outliers. Therefore, it is important to remove them before building the linear regression model and time series forecast.

# Outliers in 14DOX 
# Print outliers
print("Outliers in X14DOX:")
[1] "Outliers in X14DOX:"
#print(outliers_14DOX)
print(head(outliers_14DOX))
  SiteName       Date Quarter X14DOX
1     WW03 2016-05-06      Q2 0.0565
2     WW03 2016-05-11      Q2 0.0070
3     WW03 2016-05-14      Q2 0.0160
4     WW03 2016-05-14      Q2 0.0374
5     WW03 2016-05-21      Q2 0.0180
6     WW03 2016-06-01      Q2 0.0110

Checking for skewness in 1,4-DiOxane

[1] "Skewness for X14DOX: 4.32936364130529"

Interpretation of Skewness Values:

Skewness for 14DOX (4.32):This is also a high positive skewness value. The distribution of 14DOX is positively skewed, with most data points clustered towards the lower end and a long tail to the right. This indicates the presence of some high values. The high skewness values suggest that the data for 14DOX are not normally distributed and are influenced by a few very large values. When working with these variables in analyses, it might be necessary to consider transformations (such as log or square root transformations) to reduce skewness and achieve a more normal distribution, which can be beneficial for certain statistical analyses and models.~

# Visualize distributions
par(mfrow=c(1, 2))
hist(data$X14DOX, main="14DOX", xlab="14DOX", col = 'blue', breaks=20)

Transforming data due to skewness by using log transformation.

# Transform data if skewness is high (optional, example using log transformation)
if(abs(skewness_14DOX) > 1){data$X14DOX <- log1p(data$X14DOX)}

Removing the Outliers for 14DOX.

# Remove outliers (optional, depending on analysis)
data <- data %>% filter(X14DOX >= (Q1_14DOX - 1.5 * IQR_14DOX) & X14DOX <= (Q3_14DOX + 1.5 * IQR_14DOX))

##################Checking the Data Type and Structure ###############
str(data)
'data.frame':   2352 obs. of  4 variables:
 $ SiteName: Factor w/ 131 levels "WW01","WW02",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Date    : Date, format: "2015-07-16" "2015-08-24" ...
 $ Quarter : chr  "Q3" "Q3" "Q3" "Q3" ...
 $ X14DOX  : num  0.000592 0.000592 0.000592 0.000592 0.000592 ...
head(data)
  SiteName       Date Quarter       X14DOX
1     WW01 2015-07-16      Q3 0.0005918248
2     WW01 2015-08-24      Q3 0.0005918248
3     WW01 2015-08-24      Q3 0.0005918248
4     WW01 2015-09-28      Q3 0.0005918248
5     WW01 2015-11-03      Q4 0.0005918248
6     WW01 2015-12-08      Q4 0.0005918248

Convert Date to numeric for VIF calculation

data$Date_numeric <- as.numeric(data$Date)

Check for multicollinearity using VIF

# Check for multicollinearity using VIF
# Check for multicollinearity using VIF
vif_data_14DOX <- lm(X14DOX ~ Date_numeric + SiteName, data = data)
vif(vif_data_14DOX)
                 GVIF  Df GVIF^(1/(2*Df))
Date_numeric 1.112777   1        1.054883
SiteName     1.112777 130        1.000411

In this case, both Date_numeric and SiteName have GVIF values close to 1, indicating that there is little to no multicollinearity between these predictors in the model. This suggests that the model is not adversely affected by multicollinearity, and the estimates of the regression coefficients should be reliable.

Check correlation matrix for predictor variable (14DOX) and Date

  • 1: Perfect positive correlation (as one variable increases, the other variable also increases).

  • -1: Perfect negative correlation (as one variable increases, the other variable decreases).

  • 0: No linear correlation (the variables do not have a linear relationship).

# Check correlation matrix for predictor and dependent variables
cor_matrix <- cor(data %>% select(X14DOX, Date_numeric))
print(cor_matrix)
                X14DOX Date_numeric
X14DOX       1.0000000    0.1247568
Date_numeric 0.1247568    1.0000000

Implications of Correlation Matrix on the Model:

The correlation coefficient between X14DOX and Date_numeric is 0.1247808, which suggests a weak positive linear relationship between these two variables.

# Visualize the correlation matrix
corrplot(cor_matrix, method = "circle")

Removing the 5th column (Date Numeric) for Linear Regression Model

# Convert Date back to as.Date data type and removing the 5th column
data$Date <- as.Date(data$Date, format="%m/%d/%Y")
head(data)
  SiteName       Date Quarter       X14DOX Date_numeric
1     WW01 2015-07-16      Q3 0.0005918248        16632
2     WW01 2015-08-24      Q3 0.0005918248        16671
3     WW01 2015-08-24      Q3 0.0005918248        16671
4     WW01 2015-09-28      Q3 0.0005918248        16706
5     WW01 2015-11-03      Q4 0.0005918248        16742
6     WW01 2015-12-08      Q4 0.0005918248        16777
colnames(data)
[1] "SiteName"     "Date"         "Quarter"      "X14DOX"       "Date_numeric"
data= data[, -(5)]
head(data)
  SiteName       Date Quarter       X14DOX
1     WW01 2015-07-16      Q3 0.0005918248
2     WW01 2015-08-24      Q3 0.0005918248
3     WW01 2015-08-24      Q3 0.0005918248
4     WW01 2015-09-28      Q3 0.0005918248
5     WW01 2015-11-03      Q4 0.0005918248
6     WW01 2015-12-08      Q4 0.0005918248

Splitting the data into training and testing sets for the Linear Regression Modelling of 14DOX

# Split the data into training and testing sets for X14DOX
set.seed(123)
train_Index <- createDataPartition(data$X14DOX, p = .8, list = FALSE, times = 1)
train_Data <- data[train_Index,]
test_Data  <- data[-train_Index,]
  • This line uses the createDataPartition function from the caret package to create an index for splitting the data.

  • X11DCE: The target variable, which is 1,1 Dicholorethene, is used to ensure that the split maintains the same distribution of this variable in both the training and test sets.

  • p = .8: This specifies that 80% of the data should be used for training. The remaining 20% will be used for testing.

  • list = FALSE: By setting this to FALSE, the function returns the indices as a vector instead of a list.

  • times = 1: This specifies that only one partition should be created.

Using set.seed(123) ensures that every time you run this code, the training and test splits will be the same, allowing for consistent and reproducible results.

Factoring SiteName in testData to Match with the trainData (Categorical Variable)

# Ensure factor levels in test set match training set
test_Data$SiteName <- factor(test_Data$SiteName , levels = levels(train_Data$SiteName))

The above code ensures that the SiteName factor levels in the testData dataset match those in the trainData dataset. This step is crucial when you want to make predictions on the test data using a model trained on the training data, especially when dealing with categorical variables.

Linear Regression Model and StepWise Backward Elimination Model Selection

# Model for X14DOX using stepwise backward elimination
full_model_14DOX <- lm(X14DOX ~ Date + SiteName, data = train_Data)
step_model_14DOX <- step(full_model_14DOX, direction = "backward", trace = 0)
  • Purpose: The goal of step-wise model selection is to improve the model by removing predictors that do not contribute significantly to the prediction of the response variable. This can lead to a more parsimonious model that is easier to interpret and may perform better on new data.

  • Backward Elimination: In this specific procedure, predictors are removed one by one based on their statistical significance, starting with the least significant predictor. The process continues until only predictors that contribute meaningfully to the model remain.

Summary and Interpretation of the Linear Regression Model

# Summary of the final model
summary(step_model_14DOX)

Call:
lm(formula = X14DOX ~ Date + SiteName, data = train_Data)

Residuals:
       Min         1Q     Median         3Q        Max 
-0.0024287 -0.0003652 -0.0000239  0.0002820  0.0032512 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)       -2.555e-03  5.005e-04  -5.104 3.68e-07 ***
Date               1.687e-07  2.691e-08   6.270 4.54e-10 ***
SiteNameWW02       1.008e-04  2.483e-04   0.406 0.684724    
SiteNameWW03       3.203e-04  2.529e-04   1.267 0.205491    
SiteNameWW04       3.237e-04  2.456e-04   1.318 0.187790    
SiteNameWW06       1.413e-03  2.389e-04   5.912 4.06e-09 ***
SiteNameWW07       7.090e-04  2.564e-04   2.765 0.005749 ** 
SiteNameWW08       3.452e-04  7.836e-04   0.441 0.659561    
SiteNameWW10       3.340e-04  3.828e-04   0.873 0.382946    
SiteNameWW100      9.397e-05  2.564e-04   0.366 0.714052    
SiteNameWW101      1.787e-03  2.314e-04   7.719 1.95e-14 ***
SiteNameWW102      4.201e-04  2.388e-04   1.759 0.078781 .  
SiteNameWW103      9.471e-04  2.960e-04   3.199 0.001402 ** 
SiteNameWW104      1.410e-04  2.417e-04   0.583 0.559713    
SiteNameWW105      1.771e-04  2.388e-04   0.742 0.458375    
SiteNameWW106      8.257e-04  2.293e-04   3.601 0.000326 ***
SiteNameWW107      7.049e-05  2.564e-04   0.275 0.783423    
SiteNameWW11      -6.316e-06  2.792e-04  -0.023 0.981955    
SiteNameWW116      7.699e-04  2.293e-04   3.357 0.000804 ***
SiteNameWW117      1.319e-04  2.238e-04   0.589 0.555699    
SiteNameWW12       7.982e-04  2.961e-04   2.696 0.007085 ** 
SiteNameWW13       6.478e-04  2.874e-04   2.254 0.024311 *  
SiteNameWW14       2.177e-04  2.871e-04   0.758 0.448402    
SiteNameWW156      4.261e-05  2.315e-04   0.184 0.853984    
SiteNameWW156-2   -1.297e-04  3.070e-04  -0.422 0.672766    
SiteNameWW16       1.153e-03  2.362e-04   4.883 1.14e-06 ***
SiteNameWW17       3.623e-04  2.362e-04   1.534 0.125204    
SiteNameWW177      4.477e-04  7.835e-04   0.571 0.567796    
SiteNameWW178      2.341e-04  2.417e-04   0.968 0.332929    
SiteNameWW18      -5.462e-05  2.483e-04  -0.220 0.825932    
SiteNameWW180      3.634e-04  2.418e-04   1.503 0.133053    
SiteNameWW181      2.728e-04  2.389e-04   1.142 0.253657    
SiteNameWW183      2.999e-04  2.564e-04   1.170 0.242335    
SiteNameWW184      4.690e-04  7.835e-04   0.599 0.549512    
SiteNameWW186      9.410e-05  5.669e-04   0.166 0.868178    
SiteNameWW188      3.710e-04  2.449e-04   1.515 0.129919    
SiteNameWW189      2.330e-04  2.484e-04   0.938 0.348237    
SiteNameWW19       9.288e-04  2.362e-04   3.933 8.72e-05 ***
SiteNameWW193      7.876e-04  7.835e-04   1.005 0.314958    
SiteNameWW195      7.874e-04  7.835e-04   1.005 0.315062    
SiteNameWW196      7.874e-04  7.835e-04   1.005 0.315062    
SiteNameWW197      5.056e-04  2.871e-04   1.761 0.078401 .  
SiteNameWW198      9.565e-04  7.835e-04   1.221 0.222323    
SiteNameWW201      8.929e-04  2.564e-04   3.482 0.000509 ***
SiteNameWW206      9.373e-04  7.835e-04   1.196 0.231729    
SiteNameWW21      -1.061e-04  2.483e-04  -0.427 0.669165    
SiteNameWW210      1.219e-03  3.822e-04   3.190 0.001448 ** 
SiteNameWW210/211  2.035e-03  2.870e-04   7.092 1.91e-12 ***
SiteNameWW211      1.858e-03  4.734e-04   3.925 9.00e-05 ***
SiteNameWW214      9.006e-04  7.835e-04   1.149 0.250543    
SiteNameWW215      4.102e-04  5.669e-04   0.724 0.469385    
SiteNameWW217      6.516e-04  3.069e-04   2.123 0.033880 *  
SiteNameWW22       8.526e-05  2.418e-04   0.353 0.724396    
SiteNameWW221      2.747e-03  3.558e-04   7.720 1.94e-14 ***
SiteNameWW222      8.184e-04  4.187e-04   1.955 0.050772 .  
SiteNameWW223      1.882e-03  2.417e-04   7.785 1.18e-14 ***
SiteNameWW23      -1.163e-04  2.522e-04  -0.461 0.644765    
SiteNameWW230      9.006e-04  7.835e-04   1.149 0.250543    
SiteNameWW24       6.421e-05  2.388e-04   0.269 0.788080    
SiteNameWW25       6.147e-04  2.873e-04   2.140 0.032522 *  
SiteNameWW26      -1.488e-04  2.483e-04  -0.599 0.549086    
SiteNameWW28       1.651e-05  2.564e-04   0.064 0.948675    
SiteNameWW29       2.086e-03  2.522e-04   8.270 2.61e-16 ***
SiteNameWW30       2.098e-03  2.791e-04   7.515 9.02e-14 ***
SiteNameWW31       1.600e-03  2.961e-04   5.403 7.46e-08 ***
SiteNameWW32       2.033e-03  2.388e-04   8.511  < 2e-16 ***
SiteNameWW34       2.035e-03  2.724e-04   7.473 1.23e-13 ***
SiteNameWW35       2.161e-04  4.733e-04   0.457 0.647972    
SiteNameWW36       1.695e-03  2.274e-04   7.455 1.40e-13 ***
SiteNameWW36x      3.303e-04  7.834e-04   0.422 0.673353    
SiteNameWW36X      8.607e-04  2.611e-04   3.297 0.000998 ***
SiteNameWW37       1.646e-03  2.315e-04   7.112 1.66e-12 ***
SiteNameWW38       1.531e-03  2.664e-04   5.747 1.07e-08 ***
SiteNameWW39-2     3.686e-04  7.836e-04   0.470 0.638072    
SiteNameWW41       3.685e-04  7.835e-04   0.470 0.638225    
SiteNameWW42       1.334e-03  2.362e-04   5.647 1.90e-08 ***
SiteNameWW43       1.170e-03  2.484e-04   4.710 2.67e-06 ***
SiteNameWW44       1.648e-03  2.449e-04   6.729 2.30e-11 ***
SiteNameWW45       1.782e-03  2.238e-04   7.963 3.00e-15 ***
SiteNameWW46       1.686e-03  2.179e-04   7.735 1.73e-14 ***
SiteNameWW47       9.104e-04  2.564e-04   3.551 0.000394 ***
SiteNameWW48       2.253e-04  2.964e-04   0.760 0.447248    
SiteNameWW49       8.650e-04  2.337e-04   3.701 0.000221 ***
SiteNameWW50       1.877e-03  2.293e-04   8.187 5.11e-16 ***
SiteNameWW51       1.498e-03  2.337e-04   6.409 1.88e-10 ***
SiteNameWW56       1.827e-04  3.823e-04   0.478 0.632808    
SiteNameWW57       3.437e-04  7.836e-04   0.439 0.661012    
SiteNameWW58       3.437e-04  7.836e-04   0.439 0.661012    
SiteNameWW59       1.230e-04  2.664e-04   0.462 0.644382    
SiteNameWW60       3.487e-04  7.836e-04   0.445 0.656397    
SiteNameWW61       3.485e-04  7.835e-04   0.445 0.656552    
SiteNameWW62      -6.420e-05  2.484e-04  -0.259 0.796039    
SiteNameWW63      -9.850e-05  2.611e-04  -0.377 0.706007    
SiteNameWW64      -2.468e-05  2.417e-04  -0.102 0.918701    
SiteNameWW65       4.005e-04  7.835e-04   0.511 0.609362    
SiteNameWW66      -6.212e-05  2.449e-04  -0.254 0.799786    
SiteNameWW67       8.897e-04  2.417e-04   3.681 0.000240 ***
SiteNameWW68      -1.517e-05  2.664e-04  -0.057 0.954582    
SiteNameWW69       1.465e-05  2.315e-04   0.063 0.949539    
SiteNameWW70       5.190e-04  2.337e-04   2.221 0.026495 *  
SiteNameWW71       1.942e-04  2.963e-04   0.655 0.512277    
SiteNameWW74       4.191e-04  7.835e-04   0.535 0.592815    
SiteNameWW76       1.372e-04  2.417e-04   0.568 0.570357    
SiteNameWW77       2.418e-04  2.450e-04   0.987 0.323823    
SiteNameWW77-2     3.551e-05  3.079e-04   0.115 0.908185    
SiteNameWW78       9.699e-04  2.362e-04   4.106 4.20e-05 ***
SiteNameWW78-2     8.221e-04  2.337e-04   3.518 0.000446 ***
SiteNameWW79       3.888e-04  2.362e-04   1.646 0.099903 .  
SiteNameWW80       9.607e-04  2.419e-04   3.972 7.43e-05 ***
SiteNameWW81       1.787e-03  2.484e-04   7.193 9.33e-13 ***
SiteNameWW82-1     4.198e-04  2.274e-04   1.846 0.065015 .  
SiteNameWW82-2     5.298e-04  2.389e-04   2.218 0.026703 *  
SiteNameWW83       1.108e-03  2.192e-04   5.052 4.83e-07 ***
SiteNameWW84       9.246e-04  2.338e-04   3.955 7.95e-05 ***
SiteNameWW85       1.333e-03  2.274e-04   5.863 5.43e-09 ***
SiteNameWW85-2     6.372e-04  3.201e-04   1.990 0.046711 *  
SiteNameWW86       7.934e-04  2.315e-04   3.428 0.000623 ***
SiteNameWW87       8.491e-04  2.388e-04   3.555 0.000387 ***
SiteNameWW88       3.681e-04  2.222e-04   1.657 0.097718 .  
SiteNameWW88-2     5.921e-04  3.825e-04   1.548 0.121758    
SiteNameWW89       1.116e-04  2.417e-04   0.462 0.644273    
SiteNameWW90       1.793e-05  3.559e-04   0.050 0.959823    
SiteNameWW91      -2.844e-05  3.558e-04  -0.080 0.936307    
SiteNameWW92       2.678e-04  2.417e-04   1.108 0.268008    
SiteNameWW93       3.618e-04  7.835e-04   0.462 0.644317    
SiteNameWW96       4.838e-04  2.362e-04   2.048 0.040669 *  
SiteNameWW97       3.225e-04  2.522e-04   1.279 0.201119    
SiteNameWW98       1.326e-03  2.255e-04   5.881 4.88e-09 ***
SiteNameWW99      -1.513e-04  2.483e-04  -0.609 0.542340    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.0007644 on 1754 degrees of freedom
Multiple R-squared:  0.4498,    Adjusted R-squared:  0.4097 
F-statistic:  11.2 on 128 and 1754 DF,  p-value: < 2.2e-16
  • Residuals: Min ( -0.0024248), 1Q(-0.0003647), Median(-0.0000237), 3Q(0.0002819) and Max(0.0032439) shows the distribution of the residuals (difference between observed and predicted values). The small values of the residuals indicate that the model’s prediction are close to the observed values.

  • Date: The coefficient for Date is significant at 5% level (p<0.05), suggesting that there is a relationship between Date and XIIDCE.

Significant SiteName Coefficients:

The site names that are statistically significant (p-value < 0.05) are:

  • SiteNameWW06: ( p = 3.99e-09 )
  • SiteNameWW07: ( p = 0.005697 )
  • SiteNameWW101: ( p = 1.90e-14 )
  • SiteNameWW103: ( p = 0.001388 )
  • SiteNameWW106: ( p = 0.000322 )
  • SiteNameWW116: ( p = 0.000796 )
  • SiteNameWW12: ( p = 0.007070 )
  • SiteNameWW13: ( p = 0.024236 )
  • SiteNameWW16: ( p = 1.13e-06 )
  • SiteNameWW19: ( p = 8.60e-05 )
  • SiteNameWW201: ( p = 0.000502 )
  • SiteNameWW210: ( p = 0.001434 )
  • SiteNameWW210/211: ( p = 1.87e-12 )
  • SiteNameWW211: ( p = 8.90e-05 )
  • SiteNameWW217: ( p = 0.033692 )
  • SiteNameWW221: ( p = 1.93e-14 )
  • SiteNameWW223: ( p = 1.14e-14 )
  • SiteNameWW25: ( p = 0.032317 )
  • SiteNameWW29: ( p = 2.57e-16 )
  • SiteNameWW30: ( p = 8.81e-14 )
  • SiteNameWW31: ( p = 7.32e-08 )
  • SiteNameWW32: ( p = < 2e-16 )
  • SiteNameWW34: ( p = 1.21e-13 )
  • SiteNameWW36: ( p = 1.40e-13 )
  • SiteNameWW36X: ( p = 0.000990 )
  • SiteNameWW37: ( p = 1.65e-12 )
  • SiteNameWW38: ( p = 1.07e-08 )
  • SiteNameWW42: ( p = 1.85e-08 )
  • SiteNameWW43: ( p = 2.64e-06 )
  • SiteNameWW44: ( p = 2.30e-11 )
  • SiteNameWW45: ( p = 2.95e-15 )
  • SiteNameWW46: ( p = 1.73e-14 )
  • SiteNameWW47: ( p = 0.000393 )
  • SiteNameWW49: ( p = 0.000219 )
  • SiteNameWW50: ( p = 5.08e-16 )
  • SiteNameWW51: ( p = 1.88e-10 )
  • SiteNameWW78: ( p = 4.14e-05 )
  • SiteNameWW78-2: ( p = 0.000441 )
  • SiteNameWW80: ( p = 7.35e-05 )
  • SiteNameWW81: ( p = 9.20e-13 )
  • SiteNameWW82-2: ( p = 0.026553 )
  • SiteNameWW83: ( p = 4.75e-07 )
  • SiteNameWW84: ( p = 7.84e-05 )
  • SiteNameWW85: ( p = 5.30e-09 )
  • SiteNameWW85-2: ( p = 0.046457 )
  • SiteNameWW86: ( p = 0.000616 )
  • SiteNameWW87: ( p = 0.000382 )
  • SiteNameWW96: ( p = 0.040507 )
  • SiteNameWW98: ( p = 4.77e-09 )

These site names have a statistically significant relationship with the dependent variable (X14DOX). These significant coefficients indicate that the corresponding SiteName levels have a statistically significant effect on X14DOX.

Model Fit Statistics

  • Residual standard error: 0.0007629 on 1754 degrees of freedom

  • Multiple R-squared (0.4499): This indicates that approximately 45% of the variability in X14DOX is explained by the model.

  • Adjusted R-squared (0.04983): This adjusts the R-squared value for the number of predictors in the model, providing a more accurate measure of model fit.

Identifying High Leverage Points:

Leverage Values: These values indicate how much influence each data point has on the fitted values of the model. High leverage points are those that can potentially have a large impact on the model.

Data Points with High Leverage Points:

# Print high leverage points
#print(high_leverage_points)
print(head(high_leverage_points))
146 147 148 149 150 151 
112 113 114 115 116 117 

Removing the Data with High Leverage Points for Improved Model:

# Remove high leverage points and refit the model if necessary
train_Data_cleaned <- train_Data[-high_leverage_points, ]

Refitting the Model after removing high leverage points:

# Refit the model without high leverage points
full_model_14DOX_cleaned <- lm(X14DOX ~ Date + SiteName, data = train_Data_cleaned)
step_model_14DOX_cleaned <- step(full_model_14DOX_cleaned, direction = "backward", trace = 0)

Summary and Interpretation of the Re-fitted Linear Regression Model

# Summary of the final model without high leverage points
summary(step_model_14DOX_cleaned)

Call:
lm(formula = X14DOX ~ Date + SiteName, data = train_Data_cleaned)

Residuals:
       Min         1Q     Median         3Q        Max 
-0.0024301 -0.0003784 -0.0000338  0.0002960  0.0032463 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)       -2.602e-03  5.063e-04  -5.138 3.09e-07 ***
Date               1.714e-07  2.724e-08   6.293 3.94e-10 ***
SiteNameWW02       1.008e-04  2.502e-04   0.403 0.687201    
SiteNameWW03       3.221e-04  2.547e-04   1.265 0.206211    
SiteNameWW04       3.256e-04  2.475e-04   1.316 0.188446    
SiteNameWW06       1.413e-03  2.407e-04   5.871 5.19e-09 ***
SiteNameWW07       7.087e-04  2.583e-04   2.743 0.006143 ** 
SiteNameWW100      9.434e-05  2.583e-04   0.365 0.714999    
SiteNameWW101      1.787e-03  2.332e-04   7.663 3.02e-14 ***
SiteNameWW102      4.204e-04  2.406e-04   1.747 0.080819 .  
SiteNameWW103      9.470e-04  2.982e-04   3.175 0.001524 ** 
SiteNameWW104      1.408e-04  2.435e-04   0.578 0.563237    
SiteNameWW105      1.773e-04  2.406e-04   0.737 0.461378    
SiteNameWW106      8.257e-04  2.310e-04   3.574 0.000361 ***
SiteNameWW107      7.001e-05  2.583e-04   0.271 0.786419    
SiteNameWW11      -5.587e-06  2.813e-04  -0.020 0.984157    
SiteNameWW116      7.697e-04  2.310e-04   3.332 0.000882 ***
SiteNameWW117      1.315e-04  2.255e-04   0.583 0.559719    
SiteNameWW12       7.987e-04  2.983e-04   2.678 0.007483 ** 
SiteNameWW13       6.494e-04  2.895e-04   2.243 0.025022 *  
SiteNameWW14       2.185e-04  2.892e-04   0.756 0.449962    
SiteNameWW156      4.199e-05  2.332e-04   0.180 0.857161    
SiteNameWW156-2   -1.308e-04  3.093e-04  -0.423 0.672447    
SiteNameWW16       1.153e-03  2.379e-04   4.846 1.38e-06 ***
SiteNameWW17       3.626e-04  2.379e-04   1.524 0.127710    
SiteNameWW178      2.338e-04  2.435e-04   0.960 0.337160    
SiteNameWW18      -5.457e-05  2.502e-04  -0.218 0.827378    
SiteNameWW180      3.640e-04  2.436e-04   1.494 0.135320    
SiteNameWW181      2.722e-04  2.407e-04   1.131 0.258334    
SiteNameWW183      2.998e-04  2.583e-04   1.161 0.245929    
SiteNameWW188      3.713e-04  2.467e-04   1.505 0.132534    
SiteNameWW189      2.335e-04  2.502e-04   0.933 0.350950    
SiteNameWW19       9.286e-04  2.379e-04   3.903 9.88e-05 ***
SiteNameWW197      5.065e-04  2.892e-04   1.751 0.080063 .  
SiteNameWW201      8.925e-04  2.583e-04   3.455 0.000563 ***
SiteNameWW21      -1.061e-04  2.502e-04  -0.424 0.671446    
SiteNameWW210/211  2.035e-03  2.891e-04   7.038 2.81e-12 ***
SiteNameWW217      6.508e-04  3.092e-04   2.105 0.035454 *  
SiteNameWW22       8.574e-05  2.436e-04   0.352 0.724869    
SiteNameWW223      1.882e-03  2.435e-04   7.727 1.86e-14 ***
SiteNameWW23      -1.162e-04  2.540e-04  -0.457 0.647490    
SiteNameWW24       6.434e-05  2.406e-04   0.267 0.789186    
SiteNameWW25       6.133e-04  2.894e-04   2.119 0.034257 *  
SiteNameWW26      -1.488e-04  2.502e-04  -0.595 0.552069    
SiteNameWW28       1.656e-05  2.583e-04   0.064 0.948893    
SiteNameWW29       2.085e-03  2.541e-04   8.207 4.40e-16 ***
SiteNameWW30       2.098e-03  2.812e-04   7.459 1.37e-13 ***
SiteNameWW31       1.599e-03  2.983e-04   5.361 9.40e-08 ***
SiteNameWW32       2.033e-03  2.406e-04   8.450  < 2e-16 ***
SiteNameWW34       2.035e-03  2.744e-04   7.416 1.89e-13 ***
SiteNameWW36       1.695e-03  2.290e-04   7.399 2.13e-13 ***
SiteNameWW36X      8.610e-04  2.630e-04   3.273 0.001085 ** 
SiteNameWW37       1.646e-03  2.332e-04   7.058 2.45e-12 ***
SiteNameWW38       1.531e-03  2.684e-04   5.705 1.37e-08 ***
SiteNameWW42       1.333e-03  2.380e-04   5.604 2.44e-08 ***
SiteNameWW43       1.171e-03  2.502e-04   4.678 3.13e-06 ***
SiteNameWW44       1.648e-03  2.467e-04   6.679 3.24e-11 ***
SiteNameWW45       1.782e-03  2.255e-04   7.904 4.80e-15 ***
SiteNameWW46       1.686e-03  2.196e-04   7.680 2.66e-14 ***
SiteNameWW47       9.103e-04  2.583e-04   3.524 0.000435 ***
SiteNameWW48       2.269e-04  2.986e-04   0.760 0.447556    
SiteNameWW49       8.649e-04  2.354e-04   3.673 0.000247 ***
SiteNameWW50       1.878e-03  2.310e-04   8.127 8.31e-16 ***
SiteNameWW51       1.498e-03  2.355e-04   6.363 2.54e-10 ***
SiteNameWW59       1.233e-04  2.684e-04   0.459 0.645978    
SiteNameWW62      -6.392e-05  2.502e-04  -0.255 0.798393    
SiteNameWW63      -9.859e-05  2.630e-04  -0.375 0.707835    
SiteNameWW64      -2.443e-05  2.435e-04  -0.100 0.920099    
SiteNameWW66      -6.216e-05  2.467e-04  -0.252 0.801090    
SiteNameWW67       8.895e-04  2.435e-04   3.653 0.000267 ***
SiteNameWW68      -1.566e-05  2.684e-04  -0.058 0.953478    
SiteNameWW69       1.395e-05  2.333e-04   0.060 0.952304    
SiteNameWW70       5.193e-04  2.355e-04   2.206 0.027548 *  
SiteNameWW71       1.953e-04  2.985e-04   0.654 0.512959    
SiteNameWW76       1.371e-04  2.435e-04   0.563 0.573584    
SiteNameWW77       2.410e-04  2.468e-04   0.976 0.329025    
SiteNameWW77-2     3.294e-05  3.102e-04   0.106 0.915444    
SiteNameWW78       9.695e-04  2.379e-04   4.074 4.82e-05 ***
SiteNameWW78-2     8.219e-04  2.355e-04   3.491 0.000494 ***
SiteNameWW79       3.887e-04  2.379e-04   1.634 0.102458    
SiteNameWW80       9.598e-04  2.437e-04   3.938 8.53e-05 ***
SiteNameWW81       1.786e-03  2.503e-04   7.138 1.40e-12 ***
SiteNameWW82-1     4.194e-04  2.291e-04   1.831 0.067321 .  
SiteNameWW82-2     5.292e-04  2.407e-04   2.199 0.028011 *  
SiteNameWW83       1.107e-03  2.209e-04   5.013 5.91e-07 ***
SiteNameWW84       9.241e-04  2.355e-04   3.924 9.06e-05 ***
SiteNameWW85       1.333e-03  2.291e-04   5.821 6.97e-09 ***
SiteNameWW85-2     6.356e-04  3.225e-04   1.971 0.048905 *  
SiteNameWW86       7.939e-04  2.332e-04   3.404 0.000679 ***
SiteNameWW87       8.490e-04  2.406e-04   3.529 0.000428 ***
SiteNameWW88       3.680e-04  2.238e-04   1.644 0.100368    
SiteNameWW89       1.117e-04  2.435e-04   0.459 0.646619    
SiteNameWW92       2.676e-04  2.435e-04   1.099 0.271904    
SiteNameWW96       4.838e-04  2.379e-04   2.034 0.042141 *  
SiteNameWW97       3.227e-04  2.540e-04   1.270 0.204196    
SiteNameWW98       1.326e-03  2.272e-04   5.838 6.30e-09 ***
SiteNameWW99      -1.514e-04  2.502e-04  -0.605 0.545116    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.0007701 on 1714 degrees of freedom
Multiple R-squared:  0.4385,    Adjusted R-squared:  0.4071 
F-statistic: 13.94 on 96 and 1714 DF,  p-value: < 2.2e-16
  • Residuals: Min ( -0.0024262), 1Q(-0.0003780), Median(-0.0000337), 3Q(0.0002959) and Max(0.0032389) shows the distribution of the residuals (difference between observed and predicted values). The small values of the residuals indicate that the model’s prediction are close to the observed values.

  • Intercept: The intercept is statistically significant at the 5% level, indicating a small but significant base level of X14DOX when all SiteName factors are zero (though in practice, SiteName factors wouldn’t be zero).

Significant SiteName Coefficients:

Here are the site names that are statistically significant (p-value < 0.05) in your cleaned data model:

  • SiteNameWW06: ( p = 5.10e-09 ) ***
  • SiteNameWW07: ( p = 0.006088 ) **
  • SiteNameWW101: ( p = 2.94e-14 ) ***
  • SiteNameWW103: ( p = 0.001509 ) **
  • SiteNameWW106: ( p = 0.000356 ) ***
  • SiteNameWW116: ( p = 0.000873 ) ***
  • SiteNameWW12: ( p = 0.007467 ) **
  • SiteNameWW13: ( p = 0.024945 ) *
  • SiteNameWW16: ( p = 1.36e-06 ) ***
  • SiteNameWW19: ( p = 9.75e-05 ) ***
  • SiteNameWW201: ( p = 0.000556 ) ***
  • SiteNameWW210/211: ( p = 2.76e-12 ) ***
  • SiteNameWW217: ( p = 0.035260 ) *
  • SiteNameWW223: ( p = 1.80e-14 ) ***
  • SiteNameWW25: ( p = 0.034045 ) *
  • SiteNameWW29: ( p = 4.33e-16 ) ***
  • SiteNameWW30: ( p = 1.34e-13 ) ***
  • SiteNameWW31: ( p = 9.23e-08 ) ***
  • SiteNameWW32: ( p = < 2e-16 ) ***
  • SiteNameWW34: ( p = 1.86e-13 ) ***
  • SiteNameWW36: ( p = 2.13e-13 ) ***
  • SiteNameWW36X: ( p = 0.001076 ) **
  • SiteNameWW37: ( p = 2.43e-12 ) ***
  • SiteNameWW38: ( p = 1.36e-08 ) ***
  • SiteNameWW42: ( p = 2.39e-08 ) ***
  • SiteNameWW43: ( p = 3.10e-06 ) ***
  • SiteNameWW44: ( p = 3.23e-11 ) ***
  • SiteNameWW45: ( p = 4.72e-15 ) ***
  • SiteNameWW46: ( p = 2.66e-14 ) ***
  • SiteNameWW47: ( p = 0.000434 ) ***
  • SiteNameWW49: ( p = 0.000244 ) ***
  • SiteNameWW50: ( p = 8.26e-16 ) ***
  • SiteNameWW51: ( p = 2.54e-10 ) ***
  • SiteNameWW70: ( p = 0.027366 ) *
  • SiteNameWW78: ( p = 4.76e-05 ) ***
  • SiteNameWW78-2: ( p = 0.000488 ) ***
  • SiteNameWW80: ( p = 8.44e-05 ) ***
  • SiteNameWW81: ( p = 1.38e-12 ) ***
  • SiteNameWW82-2: ( p = 0.027856 ) *
  • SiteNameWW83: ( p = 5.81e-07 ) ***
  • SiteNameWW84: ( p = 8.93e-05 ) ***
  • SiteNameWW85: ( p = 6.81e-09 ) ***
  • SiteNameWW85-2: ( p = 0.048644 ) *
  • SiteNameWW86: ( p = 0.000671 ) ***
  • SiteNameWW87: ( p = 0.000423 ) ***
  • SiteNameWW96: ( p = 0.041975 ) *
  • SiteNameWW98: ( p = 6.15e-09 ) ***

These significant coefficients indicate that the corresponding SiteName levels have a statistically significant effect on X14DOX.

Model Fit Statistics

  • Residual standard error: 0.0007686 on 1714 degrees of freedom

  • Multiple R-squared (0.4386): This indicates that approximately 44% of the variability in X14DOXis explained by the model.

  • Adjusted R-squared (0.41): This adjusts the R-squared value for the number of predictors in the

Conclusion:

The model explains a significant portion of the variance in X14DOX(R-squared = 44%). Several SiteName levels are significant, indicating that these levels are important for predicting X14DOX. The model has a good fit, but there might be room for improvement or further refinement to increase the explained variance.

Checking for Model Assumption:

# Check for model assumptions
par(mfrow=c(2, 2))
plot(step_model_14DOX_cleaned)

Durbin-Watson test:

The Durbin-Watson test is used to detect the presence of autocorrelation in the residuals of a regression analysis.

# Durbin-Watson test for autocorrelation
dwtest(step_model_14DOX_cleaned)

    Durbin-Watson test

data:  step_model_14DOX_cleaned
DW = 1.1239, p-value < 2.2e-16
alternative hypothesis: true autocorrelation is greater than 0
  • DW = 1.1239: The Durbin-Watson statistic value is approximately. The DW statistic ranges from 0 to 4. A value around 2 suggests no autocorrelation. Values less than 2 indicate positive autocorrelation, while values greater than 2 indicate negative autocorrelation.

  • P-value = <2.2e-16: The p-value is <2.2e-16. This value is used to determine the significance of the test result. Typically, a p-value less than 0.05 indicates that the null hypothesis can be rejected with a very high level of confidence.

  • Alternative hypothesis: true autocorrelation is greater than 0: The alternative hypothesis in this test suggests that there is positive autocorrelation in the residuals (i.e., the residuals are positively correlated).

Conclusion

The Durbin-Watson test statistic of 1.1239 and the very low p-value suggest that there is significant positive autocorrelation in the residuals of the model step_model_14DOX. Positive autocorrelation means that consecutive residuals are correlated with each other, which can indicate that the model might be missing some important variables or that there are patterns in the data that are not captured by the model.

Variance Inflation Factor (VIF) for Multicollinearity

# Variance Inflation Factor (VIF) for multicollinearity
vif(step_model_14DOX_cleaned)
             GVIF Df GVIF^(1/(2*Df))
Date     1.095895  1        1.046850
SiteName 1.095895 95        1.000482

Residual Plots Vs Time or Fitted Values to Visualize Autocorrelation

####Create Plots of Residuals Vs Time or Fitted Values to Visually Inspect the AutoCorrelation

plot(residuals(step_model_14DOX_cleaned), type = "l", main = "Residuals over Time")

acf(residuals(step_model_14DOX_cleaned), main = "ACF of Residuals")

Factoring SiteName in testData to Match with the Non-High Leverage trainData (Categorical Variable)

# Ensure factor levels in test set match training set

test_Data$SiteName <- factor(test_Data$SiteName , levels = levels(train_Data_cleaned$SiteName))

The above code ensures that the SiteName factor levels in the testData matches those in the Non-High Leverage trainData dataset. This step is crucial when you want to make predictions on the test data using a model trained on the training data, especially when dealing with categorical variables.

Removing Data Points with High Levels for Prediction of Actual Vs Predicted Values

# Filter out rows in testData that have levels not present in trainData_cleaned
test_Data <- test_Data[!test_Data$SiteName %in% c('WW210', 'WW211', 'WW215', 'WW221', 'WW222', 
                                                  'WW56', 'WW61', 'WW88-2', 'WW91', 'WW185', 
                                                  'WW200', 'WW39-1'), ]

Predicting on test data

Having Trained our model to predict X14DOX based on the test-data. We shall now proceed to investigate how efficient our model is,

# Predict on test data
predictions_14DOX_cleaned <- predict(step_model_14DOX_cleaned, newdata = test_Data)

Model Evaluation

# Evaluate the model
X14DOX_results_cleaned <- data.frame(WellName = test_Data$SiteName, Actual = test_Data$X14DOX,  Predicted = predictions_14DOX_cleaned)

Result of the Prediction

The correlation coefficient of 0.7145267 indicates a strong positive relationship between the actual and predicted values, suggesting that the model performs well. However, further analysis and refinement can be conducted to improve the model’s accuracy and reliability.

# Evaluate the model
X14DOX_results_cleaned <- data.frame(WellName = test_Data$SiteName, Actual = test_Data$X14DOX, Predicted = predictions_14DOX_cleaned)

A correlation of 0.6414039 suggests a strong positive linear relationship between the actual and predicted values. This means that as the actual values increase, the predicted values tend to also increase, and vice versa. While the correlation provides a measure of the strength of the linear relationship, it does not directly indicate how well the model fits the data in terms of variance explained. For this, metrics such as R-squared, RMSE (Root Mean Square Error), and MAE (Mean Absolute Error) are also important.

Visual Inspection of Actual Vs Predicted Values

## Visual Inspection ##
plot(X14DOX_results_cleaned$Actual, X14DOX_results_cleaned$Predicted, main = "Actual vs Predicted Values", xlab = "Actual", ylab = "Predicted")
abline(lm(X14DOX_results_cleaned$Predicted ~ X14DOX_results_cleaned$Actual), col = "blue")

Residual Analysis

Analyze the residuals (actual - predicted) to check for patterns that might indicate model deficiencies.

### Residual Analysis###
residuals <- X14DOX_results_cleaned$Actual - X14DOX_results_cleaned$Predicted
plot(residuals, main = "Residuals", ylab = "Residuals")

Model Evaluation Metrics

### Model Evaluation Metrics  ##
rmse <- sqrt(mean((X14DOX_results_cleaned$Actual - X14DOX_results_cleaned$Predicted)^2))
print("Root Mean Square Error:")
[1] "Root Mean Square Error:"
print(rmse)
[1] 0.0007873864
mae <- mean(abs(X14DOX_results_cleaned$Actual - X14DOX_results_cleaned$Predicted))
print("Mean Absolute Error:")
[1] "Mean Absolute Error:"
print(mae)
[1] 0.0005647499
r_squared <- summary(lm(X14DOX_results_cleaned$Predicted ~ X14DOX_results_cleaned$Actual))$r.squared
print("Root Square Error:")
[1] "Root Square Error:"
print(r_squared)
[1] 0.4113989

Summary of Model Performance

  • RMSE (0.000787): Indicates the average error magnitude in predicting the dependent variable. A very low value suggests that the model’s predictions are close to the actual values.

  • MAE (0.000564): Shows the average absolute error in predictions. The low value reinforces the indication from RMSE that the model performs well.

  • R^2 (0.411): Indicates that about 41% of the variance in the dependent variable is explained by the model. While this shows a decent fit, there’s still room for improvement to capture more variance.

Time series forecasting for 1,4-DiOxane

Aggregating data by month for a better time series analysis

For the Time Series Forecasting,

# Time series forecasting for X14DOX
# Aggregating data by month for a better time series analysis
data_ts_14DOX <- data %>%
  group_by(Date) %>%
  summarize(X14DOX = mean(X14DOX))

Convert to time series object

# Convert to time series object
ts_14DOX <- ts(data_ts_14DOX$X14DOX, start = c(year(min(data_ts_14DOX$Date)), month(min(data_ts_14DOX$Date))), frequency = 12)
#Decompose time series
decomp_14DOX <- stl(ts_14DOX, s.window="periodic")
# Plot decompositions
plot(decomp_14DOX)

Fit ARIMA model for 14DOX

# Fit ARIMA model
fit_14DOX <- auto.arima(ts_14DOX)
summary(fit_14DOX)
Series: ts_14DOX 
ARIMA(0,1,2) 

Coefficients:
          ma1      ma2
      -0.7812  -0.1505
s.e.   0.0426   0.0418

sigma^2 = 6.132e-07:  log likelihood = 2935.52
AIC=-5865.05   AICc=-5865   BIC=-5852.33

Training set error measures:
                      ME        RMSE          MAE       MPE     MAPE      MASE
Training set 2.20174e-05 0.000780773 0.0005626349 -48.62643 73.04201 0.7059289
                    ACF1
Training set 0.003720507

Forecast for 14DOX in the next 12 months

# Forecast for the next 12 months
forecast_14DOX <- forecast(fit_14DOX, h = 12)
plot(forecast_14DOX)

# Combine forecasts into a data frame
future_forecasts_14DOX <- data.frame(
  Date = seq.Date(from = max(data$Date) + 1, by = "month", length.out = 48),
  X14DOX_Forecast = as.numeric(forecast_14DOX$mean)
)
# Print future forecasts
print(future_forecasts_14DOX)
         Date X14DOX_Forecast
1  2024-02-02     0.001277576
2  2024-03-02     0.001386397
3  2024-04-02     0.001386397
4  2024-05-02     0.001386397
5  2024-06-02     0.001386397
6  2024-07-02     0.001386397
7  2024-08-02     0.001386397
8  2024-09-02     0.001386397
9  2024-10-02     0.001386397
10 2024-11-02     0.001386397
11 2024-12-02     0.001386397
12 2025-01-02     0.001386397
13 2025-02-02     0.001277576
14 2025-03-02     0.001386397
15 2025-04-02     0.001386397
16 2025-05-02     0.001386397
17 2025-06-02     0.001386397
18 2025-07-02     0.001386397
19 2025-08-02     0.001386397
20 2025-09-02     0.001386397
21 2025-10-02     0.001386397
22 2025-11-02     0.001386397
23 2025-12-02     0.001386397
24 2026-01-02     0.001386397
25 2026-02-02     0.001277576
26 2026-03-02     0.001386397
27 2026-04-02     0.001386397
28 2026-05-02     0.001386397
29 2026-06-02     0.001386397
30 2026-07-02     0.001386397
31 2026-08-02     0.001386397
32 2026-09-02     0.001386397
33 2026-10-02     0.001386397
34 2026-11-02     0.001386397
35 2026-12-02     0.001386397
36 2027-01-02     0.001386397
37 2027-02-02     0.001277576
38 2027-03-02     0.001386397
39 2027-04-02     0.001386397
40 2027-05-02     0.001386397
41 2027-06-02     0.001386397
42 2027-07-02     0.001386397
43 2027-08-02     0.001386397
44 2027-09-02     0.001386397
45 2027-10-02     0.001386397
46 2027-11-02     0.001386397
47 2027-12-02     0.001386397
48 2028-01-02     0.001386397

Method2: Time Series Forecast for each Site w.r.t 14DOX

# Time series forecasting for X14DOX considering SiteName
# Aggregating data by month for a better time series analysis
data_ts <- data %>%
  group_by(Date, SiteName) %>%
  summarize(X14DOX = mean(X14DOX), .groups = "drop")

print(head(data_ts))
# A tibble: 6 × 3
  Date       SiteName   X14DOX
  <date>     <fct>       <dbl>
1 2015-07-16 WW01     0.000592
2 2015-07-16 WW02     0.000597
3 2015-07-16 WW03     0.000597
4 2015-07-16 WW04     0.000597
5 2015-07-16 WW06     0.000597
6 2015-07-16 WW10     0.000597
# Create an empty list to store forecasts for each site
forecasts_list <- list()
# Iterate over each site
for(site in unique(data_ts$SiteName)) {site_data <- data_ts %>% filter(SiteName == site)

# Check if there is enough data for decomposition
if(nrow(site_data) < 24) {  # Ensure at least two full years of data for monthly series
  warning(paste("Not enough data for site", site, ". Skipping decomposition and ARIMA modeling."))
  next
}

# Convert to time series object
ts_X14DOX <- ts(site_data$X14DOX, start = c(year(min(site_data$Date)), month(min(site_data$Date))), frequency = 12)

# Check if time series has sufficient length for decomposition
if (length(ts_X14DOX) < 24) {  # Ensure at least two full periods of data for decomposition
  warning(paste("Series is too short for STL decomposition for site", site, ". Skipping decomposition and ARIMA modeling."))
  next
}

# Decompose time series
decomp_14DOX <- tryCatch({
  stl(ts_X14DOX, s.window = "periodic")
}, error = function(e) {
  warning(paste("Error in STL decomposition for site", site, ":", e$message))
  NULL
})

if (!is.null(decomp_14DOX)) {
  # Plot decompositions
  plot(decomp_14DOX, main = paste("Decomposition for Site", site))
}

# Fit ARIMA model
fit_X14DOX <- auto.arima(ts_X14DOX)
summary(fit_X14DOX)

# Forecast for the next 12 months
forecast_X14DOX <- forecast(fit_X14DOX, h = 12)
plot(forecast_X14DOX, main = paste("Forecast for Site", site))

# Store forecast in the list
forecasts_list[[site]] <- data.frame(
  Date = seq.Date(from = max(site_data$Date) + 1, by = "month", length.out = 12),
  SiteName = site,
  X14DOX_Forecast = as.numeric(forecast_X14DOX$mean)
)
}

Warning: Not enough data for site WW02 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW03 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW04 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW10 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW08 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW28 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW12 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW13 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW21 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW22 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW29 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW30 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW34 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW07 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW11 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW23 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW24 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW14 . Skipping decomposition and ARIMA
modeling.

Warning in value[[3L]](cond): Error in STL decomposition for site WW37 : series
is not periodic or has less than two periods

Warning: Not enough data for site WW38 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW56 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW39-1 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW39-2 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW57 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW58 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW59 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW60 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW41 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW43 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW61 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW62 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW63 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW65 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW66 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW79 . Skipping decomposition and ARIMA
modeling.

Warning in value[[3L]](cond): Error in STL decomposition for site WW82-2 :
series is not periodic or has less than two periods

Warning in value[[3L]](cond): Error in STL decomposition for site WW97 : series
is not periodic or has less than two periods

Warning: Not enough data for site WW99 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW100 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW102 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW103 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW44 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW47 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW48 . Skipping decomposition and ARIMA
modeling.

Warning in value[[3L]](cond): Error in STL decomposition for site WW49 : series
is not periodic or has less than two periods

Warning: Not enough data for site WW68 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW104 . Skipping decomposition and ARIMA
modeling.
Warning in value[[3L]](cond): Error in STL decomposition for site WW105 :
series is not periodic or has less than two periods

Warning: Not enough data for site WW36X . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW51 . Skipping decomposition and ARIMA
modeling.

Warning in value[[3L]](cond): Error in STL decomposition for site WW87 : series
is not periodic or has less than two periods

Warning: Not enough data for site WW90 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW91 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW93 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW107 . Skipping decomposition and ARIMA
modeling.
Warning in value[[3L]](cond): Error in STL decomposition for site WW70 : series
is not periodic or has less than two periods

Warning: Not enough data for site WW71 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW74 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW177 . Skipping decomposition and ARIMA
modeling.

Warning: Not enough data for site WW183 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW184 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW185 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW186 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW193 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW195 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW196 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW197 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW198 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW18 . Skipping decomposition and ARIMA
modeling.
Warning in value[[3L]](cond): Error in STL decomposition for site WW188 :
series is not periodic or has less than two periods

Warning: Not enough data for site WW189 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW200 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW201 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW214 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW217 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW230 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW223 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW26 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW206 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW210 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW211 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW36x . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW156-2 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW210/211 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW31 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW25 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW215 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW221 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW35 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW222 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW88-2 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW85-2 . Skipping decomposition and ARIMA
modeling.
Warning: Not enough data for site WW77-2 . Skipping decomposition and ARIMA
modeling.

# Combine all forecasts into a single data frame
all_forecasts <- do.call(rbind, forecasts_list)

# Print future forecasts
print(all_forecasts)
                Date SiteName X14DOX_Forecast
WW01.1    2021-12-07     WW01    2.579536e-04
WW01.2    2022-01-07     WW01    4.134040e-04
WW01.3    2022-02-07     WW01    4.134040e-04
WW01.4    2022-03-07     WW01    4.134040e-04
WW01.5    2022-04-07     WW01    4.134040e-04
WW01.6    2022-05-07     WW01    4.134040e-04
WW01.7    2022-06-07     WW01    4.134040e-04
WW01.8    2022-07-07     WW01    4.134040e-04
WW01.9    2022-08-07     WW01    4.134040e-04
WW01.10   2022-09-07     WW01    4.134040e-04
WW01.11   2022-10-07     WW01    4.134040e-04
WW01.12   2022-11-07     WW01    4.134040e-04
WW06.1    2021-01-15     WW06    9.545443e-04
WW06.2    2021-02-15     WW06    9.545443e-04
WW06.3    2021-03-15     WW06    9.545443e-04
WW06.4    2021-04-15     WW06    9.545443e-04
WW06.5    2021-05-15     WW06    9.545443e-04
WW06.6    2021-06-15     WW06    9.545443e-04
WW06.7    2021-07-15     WW06    9.545443e-04
WW06.8    2021-08-15     WW06    9.545443e-04
WW06.9    2021-09-15     WW06    9.545443e-04
WW06.10   2021-10-15     WW06    9.545443e-04
WW06.11   2021-11-15     WW06    9.545443e-04
WW06.12   2021-12-15     WW06    9.545443e-04
WW32.1    2021-12-16     WW32    3.414620e-03
WW32.2    2022-01-16     WW32    2.500100e-03
WW32.3    2022-02-16     WW32    2.500100e-03
WW32.4    2022-03-16     WW32    2.500100e-03
WW32.5    2022-04-16     WW32    2.500100e-03
WW32.6    2022-05-16     WW32    2.500100e-03
WW32.7    2022-06-16     WW32    2.500100e-03
WW32.8    2022-07-16     WW32    2.500100e-03
WW32.9    2022-08-16     WW32    2.500100e-03
WW32.10   2022-09-16     WW32    2.500100e-03
WW32.11   2022-10-16     WW32    2.500100e-03
WW32.12   2022-11-16     WW32    2.500100e-03
WW16.1    2023-01-20     WW16    6.265595e-04
WW16.2    2023-02-20     WW16    5.596717e-04
WW16.3    2023-03-20     WW16    9.692012e-04
WW16.4    2023-04-20     WW16    9.307927e-04
WW16.5    2023-05-20     WW16    1.682349e-03
WW16.6    2023-06-20     WW16    1.935361e-03
WW16.7    2023-07-20     WW16    2.097744e-03
WW16.8    2023-08-20     WW16    4.753299e-04
WW16.9    2023-09-20     WW16   -1.257814e-04
WW16.10   2023-10-20     WW16   -1.677629e-04
WW16.11   2023-11-20     WW16   -5.279878e-04
WW16.12   2023-12-20     WW16   -8.508956e-05
WW17.1    2021-12-16     WW17    6.947943e-04
WW17.2    2022-01-16     WW17    6.947943e-04
WW17.3    2022-02-16     WW17    6.947943e-04
WW17.4    2022-03-16     WW17    6.947943e-04
WW17.5    2022-04-16     WW17    6.947943e-04
WW17.6    2022-05-16     WW17    6.947943e-04
WW17.7    2022-06-16     WW17    6.947943e-04
WW17.8    2022-07-16     WW17    6.947943e-04
WW17.9    2022-08-16     WW17    6.947943e-04
WW17.10   2022-09-16     WW17    6.947943e-04
WW17.11   2022-10-16     WW17    6.947943e-04
WW17.12   2022-11-16     WW17    6.947943e-04
WW19.1    2023-01-20     WW19    1.420310e-04
WW19.2    2023-02-20     WW19    1.089410e-03
WW19.3    2023-03-20     WW19    9.595479e-04
WW19.4    2023-04-20     WW19    1.309137e-03
WW19.5    2023-05-20     WW19    1.359068e-03
WW19.6    2023-06-20     WW19    1.129364e-03
WW19.7    2023-07-20     WW19    1.518832e-03
WW19.8    2023-08-20     WW19    1.768411e-03
WW19.9    2023-09-20     WW19    2.050175e-04
WW19.10   2023-10-20     WW19    1.009497e-03
WW19.11   2023-11-20     WW19    1.359068e-03
WW19.12   2023-12-20     WW19    1.129364e-03
WW36.1    2024-01-17     WW36    5.968219e-04
WW36.2    2024-02-17     WW36    5.968219e-04
WW36.3    2024-03-17     WW36    5.968219e-04
WW36.4    2024-04-17     WW36    5.968219e-04
WW36.5    2024-05-17     WW36    5.968219e-04
WW36.6    2024-06-17     WW36    5.968219e-04
WW36.7    2024-07-17     WW36    5.968219e-04
WW36.8    2024-08-17     WW36    5.968219e-04
WW36.9    2024-09-17     WW36    5.968219e-04
WW36.10   2024-10-17     WW36    5.968219e-04
WW36.11   2024-11-17     WW36    5.968219e-04
WW36.12   2024-12-17     WW36    5.968219e-04
WW37.1    2024-01-19     WW37    1.571055e-03
WW37.2    2024-02-19     WW37    1.640759e-03
WW37.3    2024-03-19     WW37    1.693487e-03
WW37.4    2024-04-19     WW37    1.733371e-03
WW37.5    2024-05-19     WW37    1.763542e-03
WW37.6    2024-06-19     WW37    1.786364e-03
WW37.7    2024-07-19     WW37    1.803627e-03
WW37.8    2024-08-19     WW37    1.816686e-03
WW37.9    2024-09-19     WW37    1.826564e-03
WW37.10   2024-10-19     WW37    1.834036e-03
WW37.11   2024-11-19     WW37    1.839688e-03
WW37.12   2024-12-19     WW37    1.843963e-03
WW42.1    2023-01-20     WW42    1.360024e-03
WW42.2    2023-02-20     WW42    1.375915e-03
WW42.3    2023-03-20     WW42    1.389721e-03
WW42.4    2023-04-20     WW42    1.401716e-03
WW42.5    2023-05-20     WW42    1.412137e-03
WW42.6    2023-06-20     WW42    1.421191e-03
WW42.7    2023-07-20     WW42    1.429057e-03
WW42.8    2023-08-20     WW42    1.435891e-03
WW42.9    2023-09-20     WW42    1.441828e-03
WW42.10   2023-10-20     WW42    1.446987e-03
WW42.11   2023-11-20     WW42    1.451468e-03
WW42.12   2023-12-20     WW42    1.455362e-03
WW64.1    2020-03-03     WW64    3.869351e-04
WW64.2    2020-04-03     WW64    3.069529e-04
WW64.3    2020-05-03     WW64    3.069529e-04
WW64.4    2020-06-03     WW64    3.069529e-04
WW64.5    2020-07-03     WW64    3.069529e-04
WW64.6    2020-08-03     WW64    1.444099e-03
WW64.7    2020-09-03     WW64    3.069529e-04
WW64.8    2020-10-03     WW64    5.558766e-04
WW64.9    2020-11-03     WW64    6.178480e-04
WW64.10   2020-12-03     WW64    4.859043e-04
WW64.11   2021-01-03     WW64    2.929553e-04
WW64.12   2021-02-03     WW64    4.319223e-04
WW76.1    2024-02-02     WW76    4.925167e-04
WW76.2    2024-03-02     WW76    4.925167e-04
WW76.3    2024-04-02     WW76    4.925167e-04
WW76.4    2024-05-02     WW76    4.925167e-04
WW76.5    2024-06-02     WW76    4.925167e-04
WW76.6    2024-07-02     WW76    4.925167e-04
WW76.7    2024-08-02     WW76    4.925167e-04
WW76.8    2024-09-02     WW76    4.925167e-04
WW76.9    2024-10-02     WW76    4.925167e-04
WW76.10   2024-11-02     WW76    4.925167e-04
WW76.11   2024-12-02     WW76    4.925167e-04
WW76.12   2025-01-02     WW76    4.925167e-04
WW77.1    2024-01-31     WW77    8.008612e-04
WW77.2    2024-03-02     WW77    8.008612e-04
WW77.3    2024-03-31     WW77    8.008612e-04
WW77.4    2024-05-01     WW77    8.008612e-04
WW77.5    2024-05-31     WW77    8.008612e-04
WW77.6    2024-07-01     WW77    8.008612e-04
WW77.7    2024-07-31     WW77    8.008612e-04
WW77.8    2024-08-31     WW77    8.008612e-04
WW77.9    2024-10-01     WW77    8.008612e-04
WW77.10   2024-10-31     WW77    8.008612e-04
WW77.11   2024-12-01     WW77    8.008612e-04
WW77.12   2024-12-31     WW77    8.008612e-04
WW78.1    2023-01-20     WW78    1.508061e-03
WW78.2    2023-02-20     WW78    1.508061e-03
WW78.3    2023-03-20     WW78    1.508061e-03
WW78.4    2023-04-20     WW78    1.508061e-03
WW78.5    2023-05-20     WW78    1.508061e-03
WW78.6    2023-06-20     WW78    1.508061e-03
WW78.7    2023-07-20     WW78    1.508061e-03
WW78.8    2023-08-20     WW78    1.508061e-03
WW78.9    2023-09-20     WW78    1.508061e-03
WW78.10   2023-10-20     WW78    1.508061e-03
WW78.11   2023-11-20     WW78    1.508061e-03
WW78.12   2023-12-20     WW78    1.508061e-03
WW78-2.1  2022-03-24   WW78-2    2.874422e-04
WW78-2.2  2022-04-24   WW78-2    2.674789e-04
WW78-2.3  2022-05-24   WW78-2   -5.693404e-04
WW78-2.4  2022-06-24   WW78-2    7.780798e-05
WW78-2.5  2022-07-24   WW78-2    5.169911e-04
WW78-2.6  2022-08-24   WW78-2    4.970324e-04
WW78-2.7  2022-09-24   WW78-2    1.177417e-04
WW78-2.8  2022-10-24   WW78-2   -1.204870e-05
WW78-2.9  2022-11-24   WW78-2   -2.064223e-06
WW78-2.10 2022-12-24   WW78-2   -1.253896e-03
WW78-2.11 2023-01-24   WW78-2   -1.038985e-03
WW78-2.12 2023-02-24   WW78-2   -9.640268e-04
WW80.1    2024-01-19     WW80    1.628673e-03
WW80.2    2024-02-19     WW80    1.819834e-04
WW80.3    2024-03-19     WW80    2.307336e-03
WW80.4    2024-04-19     WW80    1.678590e-03
WW80.5    2024-05-19     WW80    2.427052e-03
WW80.6    2024-06-19     WW80    1.418993e-03
WW80.7    2024-07-19     WW80    1.708540e-03
WW80.8    2024-08-19     WW80    4.240994e-03
WW80.9    2024-09-19     WW80    8.516373e-04
WW80.10   2024-10-19     WW80    3.559366e-04
WW80.11   2024-11-19     WW80    5.968219e-04
WW80.12   2024-12-19     WW80    5.968219e-04
WW81.1    2024-01-17     WW81    1.415114e-03
WW81.2    2024-02-17     WW81    1.415114e-03
WW81.3    2024-03-17     WW81    1.415114e-03
WW81.4    2024-04-17     WW81    1.415114e-03
WW81.5    2024-05-17     WW81    1.415114e-03
WW81.6    2024-06-17     WW81    1.415114e-03
WW81.7    2024-07-17     WW81    1.415114e-03
WW81.8    2024-08-17     WW81    1.415114e-03
WW81.9    2024-09-17     WW81    1.415114e-03
WW81.10   2024-10-17     WW81    1.415114e-03
WW81.11   2024-11-17     WW81    1.415114e-03
WW81.12   2024-12-17     WW81    1.415114e-03
WW82-1.1  2024-02-02   WW82-1    8.466857e-04
WW82-1.2  2024-03-02   WW82-1    8.466857e-04
WW82-1.3  2024-04-02   WW82-1    8.466857e-04
WW82-1.4  2024-05-02   WW82-1    8.466857e-04
WW82-1.5  2024-06-02   WW82-1    8.466857e-04
WW82-1.6  2024-07-02   WW82-1    8.466857e-04
WW82-1.7  2024-08-02   WW82-1    8.466857e-04
WW82-1.8  2024-09-02   WW82-1    8.466857e-04
WW82-1.9  2024-10-02   WW82-1    8.466857e-04
WW82-1.10 2024-11-02   WW82-1    8.466857e-04
WW82-1.11 2024-12-02   WW82-1    8.466857e-04
WW82-1.12 2025-01-02   WW82-1    8.466857e-04
WW82-2.1  2024-01-17   WW82-2    1.037796e-03
WW82-2.2  2024-02-17   WW82-2    1.037796e-03
WW82-2.3  2024-03-17   WW82-2    1.037796e-03
WW82-2.4  2024-04-17   WW82-2    1.037796e-03
WW82-2.5  2024-05-17   WW82-2    1.037796e-03
WW82-2.6  2024-06-17   WW82-2    1.037796e-03
WW82-2.7  2024-07-17   WW82-2    1.037796e-03
WW82-2.8  2024-08-17   WW82-2    1.037796e-03
WW82-2.9  2024-09-17   WW82-2    1.037796e-03
WW82-2.10 2024-10-17   WW82-2    1.037796e-03
WW82-2.11 2024-11-17   WW82-2    1.037796e-03
WW82-2.12 2024-12-17   WW82-2    1.037796e-03
WW96.1    2021-12-16     WW96    2.449700e-04
WW96.2    2022-01-16     WW96    2.449700e-04
WW96.3    2022-02-16     WW96    2.449700e-04
WW96.4    2022-03-16     WW96    2.449700e-04
WW96.5    2022-04-16     WW96    2.449700e-04
WW96.6    2022-05-16     WW96    2.449700e-04
WW96.7    2022-06-16     WW96    2.449700e-04
WW96.8    2022-07-16     WW96    2.449700e-04
WW96.9    2022-08-16     WW96    2.449700e-04
WW96.10   2022-09-16     WW96    2.449700e-04
WW96.11   2022-10-16     WW96    2.449700e-04
WW96.12   2022-11-16     WW96    2.449700e-04
WW97.1    2020-03-19     WW97    6.948709e-04
WW97.2    2020-04-19     WW97    6.948709e-04
WW97.3    2020-05-19     WW97    6.948709e-04
WW97.4    2020-06-19     WW97    6.948709e-04
WW97.5    2020-07-19     WW97    6.948709e-04
WW97.6    2020-08-19     WW97    6.948709e-04
WW97.7    2020-09-19     WW97    6.948709e-04
WW97.8    2020-10-19     WW97    6.948709e-04
WW97.9    2020-11-19     WW97    6.948709e-04
WW97.10   2020-12-19     WW97    6.948709e-04
WW97.11   2021-01-19     WW97    6.948709e-04
WW97.12   2021-02-19     WW97    6.948709e-04
WW98.1    2021-12-16     WW98    1.859470e-03
WW98.2    2022-01-16     WW98    1.859470e-03
WW98.3    2022-02-16     WW98    1.859470e-03
WW98.4    2022-03-16     WW98    1.859470e-03
WW98.5    2022-04-16     WW98    1.859470e-03
WW98.6    2022-05-16     WW98    1.859470e-03
WW98.7    2022-06-16     WW98    1.859470e-03
WW98.8    2022-07-16     WW98    1.859470e-03
WW98.9    2022-08-16     WW98    1.859470e-03
WW98.10   2022-09-16     WW98    1.859470e-03
WW98.11   2022-10-16     WW98    1.859470e-03
WW98.12   2022-11-16     WW98    1.859470e-03
WW101.1   2021-12-16    WW101    2.256676e-03
WW101.2   2022-01-16    WW101    2.545767e-03
WW101.3   2022-02-16    WW101    2.745091e-03
WW101.4   2022-03-16    WW101    1.738097e-03
WW101.5   2022-04-16    WW101    2.336434e-03
WW101.6   2022-05-16    WW101    1.518617e-03
WW101.7   2022-06-16    WW101    2.376310e-03
WW101.8   2022-07-16    WW101    1.867767e-03
WW101.9   2022-08-16    WW101    1.947556e-03
WW101.10  2022-09-16    WW101    1.947556e-03
WW101.11  2022-10-16    WW101    2.406216e-03
WW101.12  2022-11-16    WW101    4.704359e-04
WW116.1   2024-01-19    WW116    1.993609e-03
WW116.2   2024-02-19    WW116    1.935681e-03
WW116.3   2024-03-19    WW116    2.067424e-03
WW116.4   2024-04-19    WW116    1.998573e-03
WW116.5   2024-05-19    WW116    1.982950e-03
WW116.6   2024-06-19    WW116    2.029625e-03
WW116.7   2024-07-19    WW116    2.002740e-03
WW116.8   2024-08-19    WW116    1.999065e-03
WW116.9   2024-09-19    WW116    2.015481e-03
WW116.10  2024-10-19    WW116    2.005099e-03
WW116.11  2024-11-19    WW116    2.004497e-03
WW116.12  2024-12-19    WW116    2.010227e-03
WW117.1   2024-01-31    WW117    5.281134e-04
WW117.2   2024-03-02    WW117    5.281134e-04
WW117.3   2024-03-31    WW117    5.281134e-04
WW117.4   2024-05-01    WW117    5.281134e-04
WW117.5   2024-05-31    WW117    5.281134e-04
WW117.6   2024-07-01    WW117    5.281134e-04
WW117.7   2024-07-31    WW117    5.281134e-04
WW117.8   2024-08-31    WW117    5.281134e-04
WW117.9   2024-10-01    WW117    5.281134e-04
WW117.10  2024-10-31    WW117    5.281134e-04
WW117.11  2024-12-01    WW117    5.281134e-04
WW117.12  2024-12-31    WW117    5.281134e-04
WW45.1    2024-01-31     WW45    2.409842e-03
WW45.2    2024-03-02     WW45    2.409842e-03
WW45.3    2024-03-31     WW45    2.409842e-03
WW45.4    2024-05-01     WW45    2.409842e-03
WW45.5    2024-05-31     WW45    2.409842e-03
WW45.6    2024-07-01     WW45    2.409842e-03
WW45.7    2024-07-31     WW45    2.409842e-03
WW45.8    2024-08-31     WW45    2.409842e-03
WW45.9    2024-10-01     WW45    2.409842e-03
WW45.10   2024-10-31     WW45    2.409842e-03
WW45.11   2024-12-01     WW45    2.409842e-03
WW45.12   2024-12-31     WW45    2.409842e-03
WW46.1    2024-01-31     WW46    5.968219e-04
WW46.2    2024-03-02     WW46    5.968219e-04
WW46.3    2024-03-31     WW46    5.968219e-04
WW46.4    2024-05-01     WW46    5.968219e-04
WW46.5    2024-05-31     WW46    5.968219e-04
WW46.6    2024-07-01     WW46    5.968219e-04
WW46.7    2024-07-31     WW46    5.968219e-04
WW46.8    2024-08-31     WW46    5.968219e-04
WW46.9    2024-10-01     WW46    5.968219e-04
WW46.10   2024-10-31     WW46    5.968219e-04
WW46.11   2024-12-01     WW46    5.968219e-04
WW46.12   2024-12-31     WW46    5.968219e-04
WW67.1    2024-01-17     WW67    1.668607e-03
WW67.2    2024-02-17     WW67    1.668607e-03
WW67.3    2024-03-17     WW67    1.668607e-03
WW67.4    2024-04-17     WW67    1.668607e-03
WW67.5    2024-05-17     WW67    1.668607e-03
WW67.6    2024-06-17     WW67    1.668607e-03
WW67.7    2024-07-17     WW67    1.668607e-03
WW67.8    2024-08-17     WW67    1.668607e-03
WW67.9    2024-09-17     WW67    1.668607e-03
WW67.10   2024-10-17     WW67    1.668607e-03
WW67.11   2024-11-17     WW67    1.668607e-03
WW67.12   2024-12-17     WW67    1.668607e-03
WW83.1    2024-01-17     WW83    9.132098e-04
WW83.2    2024-02-17     WW83    9.132098e-04
WW83.3    2024-03-17     WW83    9.132098e-04
WW83.4    2024-04-17     WW83    9.132098e-04
WW83.5    2024-05-17     WW83    9.132098e-04
WW83.6    2024-06-17     WW83    9.132098e-04
WW83.7    2024-07-17     WW83    9.132098e-04
WW83.8    2024-08-17     WW83    9.132098e-04
WW83.9    2024-09-17     WW83    9.132098e-04
WW83.10   2024-10-17     WW83    9.132098e-04
WW83.11   2024-11-17     WW83    9.132098e-04
WW83.12   2024-12-17     WW83    9.132098e-04
WW84.1    2024-01-19     WW84    8.955214e-04
WW84.2    2024-02-19     WW84    1.068130e-03
WW84.3    2024-03-19     WW84    1.167875e-03
WW84.4    2024-04-19     WW84    1.225514e-03
WW84.5    2024-05-19     WW84    1.258822e-03
WW84.6    2024-06-19     WW84    1.278069e-03
WW84.7    2024-07-19     WW84    1.289192e-03
WW84.8    2024-08-19     WW84    1.295619e-03
WW84.9    2024-09-19     WW84    1.299333e-03
WW84.10   2024-10-19     WW84    1.301479e-03
WW84.11   2024-11-19     WW84    1.302720e-03
WW84.12   2024-12-19     WW84    1.303436e-03
WW49.1    2021-12-09     WW49    6.123498e-04
WW49.2    2022-01-09     WW49    6.149431e-04
WW49.3    2022-02-09     WW49    6.137112e-04
WW49.4    2022-03-09     WW49    6.142964e-04
WW49.5    2022-04-09     WW49    6.140184e-04
WW49.6    2022-05-09     WW49    6.141504e-04
WW49.7    2022-06-09     WW49    6.140877e-04
WW49.8    2022-07-09     WW49    6.141175e-04
WW49.9    2022-08-09     WW49    6.141034e-04
WW49.10   2022-09-09     WW49    6.141101e-04
WW49.11   2022-10-09     WW49    6.141069e-04
WW49.12   2022-11-09     WW49    6.141084e-04
WW85.1    2021-01-15     WW85    1.891206e-03
WW85.2    2021-02-15     WW85    1.891206e-03
WW85.3    2021-03-15     WW85    1.891206e-03
WW85.4    2021-04-15     WW85    1.891206e-03
WW85.5    2021-05-15     WW85    1.891206e-03
WW85.6    2021-06-15     WW85    1.891206e-03
WW85.7    2021-07-15     WW85    1.891206e-03
WW85.8    2021-08-15     WW85    1.891206e-03
WW85.9    2021-09-15     WW85    1.891206e-03
WW85.10   2021-10-15     WW85    1.891206e-03
WW85.11   2021-11-15     WW85    1.891206e-03
WW85.12   2021-12-15     WW85    1.891206e-03
WW105.1   2020-03-06    WW105   -9.068772e-04
WW105.2   2020-04-06    WW105    1.474334e-03
WW105.3   2020-05-06    WW105   -6.105134e-05
WW105.4   2020-06-06    WW105    9.289521e-04
WW105.5   2020-07-06    WW105    2.906061e-04
WW105.6   2020-08-06    WW105    7.022063e-04
WW105.7   2020-09-06    WW105    4.368099e-04
WW105.8   2020-10-06    WW105    6.079353e-04
WW105.9   2020-11-06    WW105    4.975951e-04
WW105.10  2020-12-06    WW105    5.687415e-04
WW105.11  2021-01-06    WW105    5.228669e-04
WW105.12  2021-02-06    WW105    5.524465e-04
WW50.1    2024-01-17     WW50    2.406980e-03
WW50.2    2024-02-17     WW50    2.406980e-03
WW50.3    2024-03-17     WW50    2.406980e-03
WW50.4    2024-04-17     WW50    2.406980e-03
WW50.5    2024-05-17     WW50    2.406980e-03
WW50.6    2024-06-17     WW50    2.406980e-03
WW50.7    2024-07-17     WW50    2.406980e-03
WW50.8    2024-08-17     WW50    2.406980e-03
WW50.9    2024-09-17     WW50    2.406980e-03
WW50.10   2024-10-17     WW50    2.406980e-03
WW50.11   2024-11-17     WW50    2.406980e-03
WW50.12   2024-12-17     WW50    2.406980e-03
WW69.1    2024-01-31     WW69    4.584104e-04
WW69.2    2024-03-02     WW69    4.584104e-04
WW69.3    2024-03-31     WW69    4.584104e-04
WW69.4    2024-05-01     WW69    4.584104e-04
WW69.5    2024-05-31     WW69    4.584104e-04
WW69.6    2024-07-01     WW69    4.584104e-04
WW69.7    2024-07-31     WW69    4.584104e-04
WW69.8    2024-08-31     WW69    4.584104e-04
WW69.9    2024-10-01     WW69    4.584104e-04
WW69.10   2024-10-31     WW69    4.584104e-04
WW69.11   2024-12-01     WW69    4.584104e-04
WW69.12   2024-12-31     WW69    4.584104e-04
WW86.1    2021-12-15     WW86    1.282217e-03
WW86.2    2022-01-15     WW86    1.282217e-03
WW86.3    2022-02-15     WW86    1.282217e-03
WW86.4    2022-03-15     WW86    1.282217e-03
WW86.5    2022-04-15     WW86    1.282217e-03
WW86.6    2022-05-15     WW86    1.282217e-03
WW86.7    2022-06-15     WW86    1.282217e-03
WW86.8    2022-07-15     WW86    1.282217e-03
WW86.9    2022-08-15     WW86    1.282217e-03
WW86.10   2022-09-15     WW86    1.282217e-03
WW86.11   2022-10-15     WW86    1.282217e-03
WW86.12   2022-11-15     WW86    1.282217e-03
WW87.1    2021-12-15     WW87    1.032996e-03
WW87.2    2022-01-15     WW87    1.091785e-03
WW87.3    2022-02-15     WW87    1.128774e-03
WW87.4    2022-03-15     WW87    1.152047e-03
WW87.5    2022-04-15     WW87    1.166690e-03
WW87.6    2022-05-15     WW87    1.175903e-03
WW87.7    2022-06-15     WW87    1.181699e-03
WW87.8    2022-07-15     WW87    1.185347e-03
WW87.9    2022-08-15     WW87    1.187641e-03
WW87.10   2022-09-15     WW87    1.189085e-03
WW87.11   2022-10-15     WW87    1.189994e-03
WW87.12   2022-11-15     WW87    1.190565e-03
WW88.1    2021-12-08     WW88    7.591281e-04
WW88.2    2022-01-08     WW88    7.591281e-04
WW88.3    2022-02-08     WW88    7.591281e-04
WW88.4    2022-03-08     WW88    7.591281e-04
WW88.5    2022-04-08     WW88    7.591281e-04
WW88.6    2022-05-08     WW88    7.591281e-04
WW88.7    2022-06-08     WW88    7.591281e-04
WW88.8    2022-07-08     WW88    7.591281e-04
WW88.9    2022-08-08     WW88    7.591281e-04
WW88.10   2022-09-08     WW88    7.591281e-04
WW88.11   2022-10-08     WW88    7.591281e-04
WW88.12   2022-11-08     WW88    7.591281e-04
WW89.1    2023-01-13     WW89    5.242810e-04
WW89.2    2023-02-13     WW89    5.242810e-04
WW89.3    2023-03-13     WW89    5.242810e-04
WW89.4    2023-04-13     WW89    5.242810e-04
WW89.5    2023-05-13     WW89    5.242810e-04
WW89.6    2023-06-13     WW89    5.242810e-04
WW89.7    2023-07-13     WW89    5.242810e-04
WW89.8    2023-08-13     WW89    5.242810e-04
WW89.9    2023-09-13     WW89    5.242810e-04
WW89.10   2023-10-13     WW89    5.242810e-04
WW89.11   2023-11-13     WW89    5.242810e-04
WW89.12   2023-12-13     WW89    5.242810e-04
WW92.1    2024-01-31     WW92    5.395845e-04
WW92.2    2024-03-02     WW92    6.984537e-04
WW92.3    2024-03-31     WW92    1.035093e-03
WW92.4    2024-05-01     WW92    6.534932e-04
WW92.5    2024-05-31     WW92    5.046099e-04
WW92.6    2024-07-01     WW92    4.896204e-04
WW92.7    2024-07-31     WW92   -3.615299e-05
WW92.8    2024-08-31     WW92    3.676976e-04
WW92.9    2024-10-01     WW92    4.166684e-04
WW92.10   2024-10-31     WW92    4.166684e-04
WW92.11   2024-12-01     WW92    4.166684e-04
WW92.12   2024-12-31     WW92    4.166684e-04
WW106.1   2021-12-15    WW106    1.031374e-03
WW106.2   2022-01-15    WW106    1.526478e-04
WW106.3   2022-02-15    WW106   -6.748590e-04
WW106.4   2022-03-15    WW106    3.024853e-04
WW106.5   2022-04-15    WW106    1.726275e-04
WW106.6   2022-05-15    WW106   -1.319843e-05
WW106.7   2022-06-15    WW106    6.420337e-04
WW106.8   2022-07-15    WW106    6.772999e-05
WW106.9   2022-08-15    WW106    3.324501e-04
WW106.10  2022-09-15    WW106    6.020928e-04
WW106.11  2022-10-15    WW106    5.421785e-04
WW106.12  2022-11-15    WW106    6.473276e-05
WW70.1    2021-12-15     WW70    8.355146e-04
WW70.2    2022-01-15     WW70    8.545884e-04
WW70.3    2022-02-15     WW70    8.609916e-04
WW70.4    2022-03-15     WW70    8.631411e-04
WW70.5    2022-04-15     WW70    8.638627e-04
WW70.6    2022-05-15     WW70    8.641050e-04
WW70.7    2022-06-15     WW70    8.641863e-04
WW70.8    2022-07-15     WW70    8.642136e-04
WW70.9    2022-08-15     WW70    8.642227e-04
WW70.10   2022-09-15     WW70    8.642258e-04
WW70.11   2022-10-15     WW70    8.642269e-04
WW70.12   2022-11-15     WW70    8.642272e-04
WW156.1   2024-01-31    WW156    4.658684e-04
WW156.2   2024-03-02    WW156    4.658684e-04
WW156.3   2024-03-31    WW156    4.658684e-04
WW156.4   2024-05-01    WW156    4.658684e-04
WW156.5   2024-05-31    WW156    4.658684e-04
WW156.6   2024-07-01    WW156    4.658684e-04
WW156.7   2024-07-31    WW156    4.658684e-04
WW156.8   2024-08-31    WW156    4.658684e-04
WW156.9   2024-10-01    WW156    4.658684e-04
WW156.10  2024-10-31    WW156    4.658684e-04
WW156.11  2024-12-01    WW156    4.658684e-04
WW156.12  2024-12-31    WW156    4.658684e-04
WW178.1   2024-01-31    WW178    5.849769e-04
WW178.2   2024-03-02    WW178    5.849769e-04
WW178.3   2024-03-31    WW178    5.849769e-04
WW178.4   2024-05-01    WW178    5.849769e-04
WW178.5   2024-05-31    WW178    5.849769e-04
WW178.6   2024-07-01    WW178    5.849769e-04
WW178.7   2024-07-31    WW178    5.849769e-04
WW178.8   2024-08-31    WW178    5.849769e-04
WW178.9   2024-10-01    WW178    5.849769e-04
WW178.10  2024-10-31    WW178    5.849769e-04
WW178.11  2024-12-01    WW178    5.849769e-04
WW178.12  2024-12-31    WW178    5.849769e-04
WW180.1   2020-03-04    WW180    6.726234e-04
WW180.2   2020-04-04    WW180    6.726234e-04
WW180.3   2020-05-04    WW180    6.726234e-04
WW180.4   2020-06-04    WW180    6.726234e-04
WW180.5   2020-07-04    WW180    6.726234e-04
WW180.6   2020-08-04    WW180    6.726234e-04
WW180.7   2020-09-04    WW180    6.726234e-04
WW180.8   2020-10-04    WW180    6.726234e-04
WW180.9   2020-11-04    WW180    6.726234e-04
WW180.10  2020-12-04    WW180    6.726234e-04
WW180.11  2021-01-04    WW180    6.726234e-04
WW180.12  2021-02-04    WW180    6.726234e-04
WW181.1   2024-02-02    WW181    6.998357e-04
WW181.2   2024-03-02    WW181    6.998357e-04
WW181.3   2024-04-02    WW181    6.998357e-04
WW181.4   2024-05-02    WW181    6.998357e-04
WW181.5   2024-06-02    WW181    6.998357e-04
WW181.6   2024-07-02    WW181    6.998357e-04
WW181.7   2024-08-02    WW181    6.998357e-04
WW181.8   2024-09-02    WW181    6.998357e-04
WW181.9   2024-10-02    WW181    6.998357e-04
WW181.10  2024-11-02    WW181    6.998357e-04
WW181.11  2024-12-02    WW181    6.998357e-04
WW181.12  2025-01-02    WW181    6.998357e-04
WW188.1   2020-03-06    WW188    7.000087e-04
WW188.2   2020-04-06    WW188    7.000087e-04
WW188.3   2020-05-06    WW188    7.000087e-04
WW188.4   2020-06-06    WW188    7.000087e-04
WW188.5   2020-07-06    WW188    7.000087e-04
WW188.6   2020-08-06    WW188    7.000087e-04
WW188.7   2020-09-06    WW188    7.000087e-04
WW188.8   2020-10-06    WW188    7.000087e-04
WW188.9   2020-11-06    WW188    7.000087e-04
WW188.10  2020-12-06    WW188    7.000087e-04
WW188.11  2021-01-06    WW188    7.000087e-04
WW188.12  2021-02-06    WW188    7.000087e-04