# Install packages (run once)
install.packages("forecast")
install.packages("lubridate")

# Load libraries
library(forecast)
library(lubridate)

# Load data
data <- read.csv("Electric_Production.csv")

# Auto-detect columns
date_col <- names(data)[1]
value_col <- names(data)[2]

# Convert date
data[[date_col]] <- as.Date(data[[date_col]], tryFormats = c("%Y-%m-%d","%d-%m-%Y","%m/%d/%Y"))

# Clean data
data <- na.omit(data)
data <- data[order(data[[date_col]]), ]

# Create time series (default monthly)
ts_data <- ts(data[[value_col]], frequency = 12)

# ARIMA model
model <- arima(ts_data, order = c(1,1,1))

# Forecast
fc <- forecast(model, h = 20)

# Output
print(fc)
plot(fc, main="Forecast", xlab="Time", ylab="Value")