Setup

Loading Libraries

knitr::opts_chunk$set(echo = TRUE)
library(fpp2)
## Warning: package 'fpp2' was built under R version 4.0.5
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## -- Attaching packages ---------------------------------------------- fpp2 2.4 --
## v ggplot2   3.3.3     v fma       2.4  
## v forecast  8.14      v expsmooth 2.3
## Warning: package 'fma' was built under R version 4.0.5
## Warning: package 'expsmooth' was built under R version 4.0.5
## 
library(fastDummies)
## Warning: package 'fastDummies' was built under R version 4.0.5
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.0.5
library(data.table)
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:data.table':
## 
##     hour, isoweek, mday, minute, month, quarter, second, wday, week,
##     yday, year
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(stargazer)
## 
## Please cite as:
##  Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.2. https://CRAN.R-project.org/package=stargazer
library(plyr)
## 
## Attaching package: 'plyr'
## The following object is masked from 'package:fma':
## 
##     ozone
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:plyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## The following objects are masked from 'package:data.table':
## 
##     between, first, last
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v tibble  3.0.6     v purrr   0.3.4
## v tidyr   1.1.2     v stringr 1.4.0
## v readr   1.4.0     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::arrange()         masks plyr::arrange()
## x lubridate::as.difftime() masks base::as.difftime()
## x dplyr::between()         masks data.table::between()
## x purrr::compact()         masks plyr::compact()
## x dplyr::count()           masks plyr::count()
## x lubridate::date()        masks base::date()
## x dplyr::failwith()        masks plyr::failwith()
## x dplyr::filter()          masks stats::filter()
## x dplyr::first()           masks data.table::first()
## x dplyr::group_rows()      masks kableExtra::group_rows()
## x lubridate::hour()        masks data.table::hour()
## x dplyr::id()              masks plyr::id()
## x lubridate::intersect()   masks base::intersect()
## x lubridate::isoweek()     masks data.table::isoweek()
## x dplyr::lag()             masks stats::lag()
## x dplyr::last()            masks data.table::last()
## x lubridate::mday()        masks data.table::mday()
## x lubridate::minute()      masks data.table::minute()
## x lubridate::month()       masks data.table::month()
## x dplyr::mutate()          masks plyr::mutate()
## x lubridate::quarter()     masks data.table::quarter()
## x dplyr::rename()          masks plyr::rename()
## x lubridate::second()      masks data.table::second()
## x lubridate::setdiff()     masks base::setdiff()
## x dplyr::summarise()       masks plyr::summarise()
## x dplyr::summarize()       masks plyr::summarize()
## x purrr::transpose()       masks data.table::transpose()
## x lubridate::union()       masks base::union()
## x lubridate::wday()        masks data.table::wday()
## x lubridate::week()        masks data.table::week()
## x lubridate::yday()        masks data.table::yday()
## x lubridate::year()        masks data.table::year()
library(zoo)
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(psych)
## 
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(grid)
library(seasonal)
## Warning: package 'seasonal' was built under R version 4.0.5
## 
## Attaching package: 'seasonal'
## The following object is masked from 'package:psych':
## 
##     outlier
## The following object is masked from 'package:tibble':
## 
##     view

Load in Data

#Visit Data
visit.data <- fread("air_visit_data.csv")
#Date Info Data
date.data <- fread("date_info.csv")
#Sample Data for Final Output
sample.data <- fread("sample_submission.csv")

Merging Date Info on Visit Data

combined.data <- merge(visit.data, date.data, by.x = "visit_date", by.y = "calendar_date")
#NA Test
na.test <- combined.data[is.na(visitors)]
na.test
## Empty data.table (0 rows and 5 cols): visit_date,air_store_id,visitors,day_of_week,holiday_flg

Creating Proper Variables for Sample Data

#Air Store ID
sample.data$air_store_id <- substr(sample.data$id, 1,20)
#Date
sample.data$visit_date <- as.Date(substr(sample.data$id, 22,31))

Data Visualization

Basic Summary Statistics

#Day of the week as factor/dummy variables
combined.data$day_of_week <- as.factor(combined.data$day_of_week)
sumstats <- combined.data[,-c("visit_date","air_store_id")]
sumstats <- dummy_cols(sumstats, select_columns = 'day_of_week')
sumstatstable <- sumstats[,-c("day_of_week")]
#Table
stargazer(sumstatstable)
## 
## % Table created by stargazer v.5.2.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
## % Date and time: Mon, Apr 19, 2021 - 4:42:59 AM
## \begin{table}[!htbp] \centering 
##   \caption{} 
##   \label{} 
## \begin{tabular}{@{\extracolsep{5pt}}lccccccc} 
## \\[-1.8ex]\hline 
## \hline \\[-1.8ex] 
## Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Pctl(25)} & \multicolumn{1}{c}{Pctl(75)} & \multicolumn{1}{c}{Max} \\ 
## \hline \\[-1.8ex] 
## visitors & 252,108 & 20.974 & 16.757 & 1 & 9 & 29 & 877 \\ 
## holiday\_flg & 252,108 & 0.051 & 0.219 & 0 & 0 & 0 & 1 \\ 
## day\_of\_week\_Friday & 252,108 & 0.160 & 0.367 & 0 & 0 & 0 & 1 \\ 
## day\_of\_week\_Monday & 252,108 & 0.126 & 0.331 & 0 & 0 & 0 & 1 \\ 
## day\_of\_week\_Saturday & 252,108 & 0.156 & 0.363 & 0 & 0 & 0 & 1 \\ 
## day\_of\_week\_Sunday & 252,108 & 0.119 & 0.324 & 0 & 0 & 0 & 1 \\ 
## day\_of\_week\_Thursday & 252,108 & 0.151 & 0.358 & 0 & 0 & 0 & 1 \\ 
## day\_of\_week\_Tuesday & 252,108 & 0.143 & 0.350 & 0 & 0 & 0 & 1 \\ 
## day\_of\_week\_Wednesday & 252,108 & 0.146 & 0.353 & 0 & 0 & 0 & 1 \\ 
## \hline \\[-1.8ex] 
## \end{tabular} 
## \end{table}

Basic Aggregated Visit Time Series Plot (Total Daily)

#Aggregate Visitors by Date
visit.date.agg <- aggregate(visitors~visit_date, FUN=sum, data=combined.data)
#As a Time Series
visit.date.agg.ts <- ts(visit.date.agg$visitors, start = decimal_date(as.Date('2016-01-01')), frequency = 365)
#Plot Time Series
plot(visit.date.agg.ts, main = "Figure 1: Total Daily Air Restaurant Visits 1/1/2016-4/22/2017",
     ylab = "Daily Visits")

Investigation Into Jump

test1 <- combined.data[visit_date < '2016-04-01']
length(unique(test1$air_store_id))
## [1] 312
test2 <- combined.data[visit_date > '2016-06-01']
length(unique(test2$air_store_id))
## [1] 829

Basic Aggregated Visit Time Series Plot (Avg Daily)

#Aggregate Visitors by Date
m.visit.date.agg <- aggregate(visitors~visit_date, FUN=mean, data=combined.data)
#As a Time Series
m.visit.date.agg.ts <- ts(m.visit.date.agg$visitors, start = decimal_date(as.Date('2016-01-01')), frequency = 365)
#Plot Time Series
plot(m.visit.date.agg.ts, main = "Figure 2: Avg Daily Air Restaurant Visits 1/1/2016-4/22/2017",
     ylab = "Daily Visits")

Seasonality Plot

#Order factor properly
combined.data$day_of_week <- factor(combined.data$day_of_week,
                                    levels = c("Monday", "Tuesday",
                                               "Wednesday", "Thursday",
                                               "Friday", "Saturday", "Sunday"))
#Weekday
weekday.season <- aggregate(visitors~day_of_week, FUN=mean, data=combined.data)
plot(weekday.season, ylab = "Mean Daily Visitors")

#Month
combined.data$Month <- month(combined.data$visit_date)
combined.data$MonthName <- mapvalues(combined.data$Month, from = c("1","2","3","4","5","6",
                                                                   "7","8","9","10","11","12"),
                                     to = c("January","February","March",
                                         "April","May","June","July","August",
                                         "September","October","November","December"))
month.season <- aggregate(visitors~Month, FUN=mean, data=combined.data)
plot(month.season, ylab = "Mean Daily Visitors")

Histograms of Daily Visits

hist(combined.data$visitors, main = "Figure 3: Histogram of Restaurants' Daily Visits 1/1/2016-4/22/2017",
     ylab = "Counts", xlab = "Number of Visitors", breaks = "FD", xlim = c(0,150))

hist(log(combined.data$visitors), main = "Histogram of Restaurants' Daily Visits 1/1/2016-4/22/2017",
     ylab = "Counts", xlab = "Ln(Number of Visitors)", breaks = "FD", xlim = c(0,6))

Histogram of Avg Daily Visits Per Date

hist(m.visit.date.agg.ts, main = "Figure 5: Histogram of Avg Visits Per Day 1/1/2016-4/22/2017",
     ylab = "Counts", xlab = "Avg Number of Visitors", breaks = "FD", xlim = c(8,35))

Histogram of Avg Daily Visits Per Restaurant Over the Entire Time Period

#Aggregate Visitors by Restaurant
m.visit.store.agg <- aggregate(visitors~air_store_id, FUN=mean, data=combined.data)
#Histogram
hist(m.visit.store.agg$visitors, main = "Figure 4: Histogram of Avg Daily Visits by Restaurant 1/1/2016-4/22/2017",
     ylab = "Counts", xlab = "Avg Number of Visitors", breaks = "FD", xlim = c(0,85))

Model Building

Basic Mean Model

Naive Function

naive_function = function(store){
  #Define subset df for each unique store id
  df = combined.data[air_store_id == store]
  #Define Train and Test Data subsets (80/20)
  data.end <- length(unique(df$visit_date))
  train.cutoff <- .8*data.end
  dftrain = df[1:train.cutoff]
  dftest = df[(train.cutoff+1):data.end]
  #Turn into time series
  train.ts <- ts(dftrain$visitors, start = decimal_date(dftrain$visit_date[1]), frequency = 365)
  test.ts <- ts(dftest$visitors, start = decimal_date(dftest$visit_date[1]), frequency = 365)
  #Run model of choice
  #snaive.model <- snaive(train.ts)
  #snaive.pred <- forecast(snaive.model, h=length(test.ts))
  naive.model <- naive(train.ts, h=length(dftest$visit_date))
  #Accuracy statistic
  acc.df <- data.frame(accuracy(naive.model, dftest$visitors))
  acc.df.1 <- acc.df[-c(1),]
  #Turn predictions output into dataframe
  n.pred.df <- data.frame(naive.model)
  n.pred.df$Date <- dftest$visit_date
  
  #lm(data = df, y~x1+x2)
  #predict.....
  #add prediction to df
  return(acc.df.1)
}

naive_predictions = rbindlist(lapply(sort(unique(combined.data$air_store_id)), naive_function))
cat("Naive Models' Mean RMSE: ", mean(naive_predictions$RMSE))
## Naive Models' Mean RMSE:  14.1102
cat("\nNaive Models' Mean MASE: ", mean(naive_predictions$MASE))
## 
## Naive Models' Mean MASE:  1.040305

Seasonal Naive Function

snaive_function = function(store){
  #Define subset df for each unique store id
  df = combined.data[air_store_id == store]
  #Define Train and Test Data subsets (80/20)
  data.end <- length(unique(df$visit_date))
  train.cutoff <- .8*data.end
  dftrain = df[1:train.cutoff]
  dftest = df[(train.cutoff+1):data.end]
  #Turn into time series
  train.ts <- ts(dftrain$visitors, start = decimal_date(dftrain$visit_date[1]), frequency = 365)
  test.ts <- ts(dftest$visitors, start = decimal_date(dftest$visit_date[1]), frequency = 365)
  #Run model of choice
  snaive.model <- snaive(train.ts, h=length(dftest$visit_date))
  #snaive.pred <- forecast(snaive.model, h=length(test.ts))
  #naive.model <- naive(train.ts, h=length(dftest$visit_date))
  #Accuracy statistic
  acc.df <- data.frame(accuracy(snaive.model, dftest$visitors))
  acc.df.1 <- acc.df[-c(1),]
  #Turn predictions output into dataframe
  sn.pred.df <- data.frame(snaive.model)
  sn.pred.df$Date <- dftest$visit_date
  
  #lm(data = df, y~x1+x2)
  #predict.....
  #add prediction to df
  return(acc.df.1)
}

snaive_predictions = rbindlist(lapply(sort(unique(combined.data$air_store_id)), snaive_function))
cat("Snaive Models' Mean RMSE: ", mean(snaive_predictions$RMSE))
## Snaive Models' Mean RMSE:  16.33314
cat("\nSnaive Models' Mean MASE: ", mean(snaive_predictions$MASE))
## 
## Snaive Models' Mean MASE:  1.156182

ETS Model

ets_function = function(store){
  #Define subset df for each unique store id
  df = combined.data[air_store_id == store]
  #Define Train and Test Data subsets (80/20)
  data.end <- length(unique(df$visit_date))
  train.cutoff <- .8*data.end
  dftrain = df[1:train.cutoff]
  dftest = df[(train.cutoff+1):data.end]
  #Turn into time series
  train.ts <- ts(dftrain$visitors, start = decimal_date(dftrain$visit_date[1]), frequency = 24)
  test.ts <- ts(dftest$visitors, start = decimal_date(dftest$visit_date[1]), frequency = 24)
  #Run model of choice
  ets.model <- ets(train.ts, lambda = "auto")
  ets.pred <- forecast(ets.model, h=length(dftest$visit_date))
  #snaive.pred <- forecast(snaive.model, h=length(test.ts))
  #naive.model <- naive(train.ts, h=length(dftest$visit_date))
  #Accuracy statistic
  acc.df <- data.frame(accuracy(ets.pred, dftest$visitors))
  acc.df.1 <- acc.df[-c(1),]
  #Turn predictions output into dataframe
  ets.pred.df <- data.frame(ets.pred)
  ets.pred.df$Date <- dftest$visit_date
  
  #lm(data = df, y~x1+x2)
  #predict.....
  #add prediction to df
  return(acc.df.1)
}

ets_prediction = ets_function("air_d0e8a085d8dc83aa")
ets_prediction
##                 ME     RMSE      MAE       MPE     MAPE      MASE ACF1
## Test set 0.8463135 3.785093 3.037719 -43.89173 78.65205 0.4996597   NA
ets_predictions = rbindlist(lapply(sort(unique(combined.data$air_store_id)), ets_function))
cat("ETS Models' Mean RMSE: ", mean(ets_predictions$RMSE))
## ETS Models' Mean RMSE:  11.61615
cat("\nETS Models' Mean MASE: ", mean(ets_predictions$MASE))
## 
## ETS Models' Mean MASE:  0.8146709

Custom Linear Model

linear_function = function(store){
  #Define subset df for each unique store id
  df = combined.data[air_store_id == store]
  #Create Sequence Variable
  df$seq=seq(1,length(df$visit_date))
  #Create 1 day lag variable and 1 week lag variable
  df$visitors_t1=c(df$visitors[1],
                      df$visitors[1:(length(df$visit_date)-1)])
  df[,visitors_t7:=ifelse(visit_date - shift(visit_date,7)==7,shift(visitors,7),0)]
  #Make Date Dummy Variables
  df1 <- df[,-c("Month")]
  df1 <- dummy_cols(df1)
  #OLS Model
  mylm=lm(visitors~seq+holiday_flg+visitors_t7+visitors_t1,
        data=df1[1:(.8*length(df1$visit_date)),],
        na.action=na.omit)
  #Get Summaries
  temp=summary(mylm)
  temp
  #Predict
  pred.train.test.len <- length(df1$visit_date)
  pred.train.cut <- .8*pred.train.test.len
  mypred2=predict(mylm, df1[1:pred.train.cut,], interval='prediction')
  #Predict Test Set
  mypred=predict(mylm, df1[(pred.train.cut+1):(pred.train.test.len+1),], level=.95, interval = "prediction")
  #Combine into 1 Df
  mypred=as.data.frame(mypred)
  mypred$actual=df1$visitors[(pred.train.cut+1):(pred.train.test.len+1)]
  mypred2=as.data.frame(mypred2)
  mypred2$actual=df1$visitors[1:pred.train.cut]
  totalpred=rbind(mypred2,mypred)
  #Accuracy
  a1=accuracy(mypred2$fit, mypred2$actual)
  #a1a=AIC(lm(mypred2$actual~mypred2$fit))
  MASE1=a1[3]/accuracy(naive(df1$visitors[1:pred.train.cut]))[3]
  a1=c(a1,MASE1)
  a2=accuracy(mypred$fit, mypred$actual)
  #a2a=AIC(lm(mypred$actual~mypred$fit))
  MASE2=a2[3]/accuracy(naive(df1$visitors[(pred.train.cut+1):(pred.train.test.len+1)]))[3]
  a2=c(a2, MASE2)
  a3=as.data.frame(rbind(a1,a2))
  row.names(a3)=c("Training", "Test")
  colnames(a3)=c('ME', 'RMSE', 'MAE','MPE', 'MAPE', 'MASE')
  a3 <- a3[-c(1),]
  #lm(data = df, y~x1+x2)
  #predict.....
  #add prediction to df
  return(a3)
}

linear_prediction = linear_function("air_d0e8a085d8dc83aa")
linear_prediction
##              ME    RMSE      MAE      MPE     MAPE      MASE
## Test -0.6115715 3.87027 3.028292 -73.1795 92.38208 0.7243242
linear_predictions = rbindlist(lapply(sort(unique(combined.data$air_store_id)), linear_function))
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[1:pred.train.cut, ], interval = "prediction"):
## prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(mylm, df1[(pred.train.cut + 1):(pred.train.test.len + :
## prediction from a rank-deficient fit may be misleading
cat("OLS Models' Mean RMSE: ", mean(linear_predictions$RMSE))
## OLS Models' Mean RMSE:  11.02752
cat("\nOLS Models' Mean MASE: ", mean(linear_predictions$MASE))
## 
## OLS Models' Mean MASE:  0.8100413