This project work analyzes the Index of Industrial Production in India by taking sectoral data from Manufacturing, Mining, Electricity, and also the General index.
The goal of this study is to:
The data is from Government of India (MOSPI, NSO).
#PDF extraction, Cleaning Process and Converting both the Years and Months into a Date format:
library(tabulapdf)
library(tabulizerjars)
library(stringr)
library(pdftools)
## Using poppler version 25.05.0
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(plotly)
## Loading required package: ggplot2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(janitor)
##
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
library(readr)
library(fable)
## Loading required package: fabletools
## Registered S3 method overwritten by 'tsibble':
## method from
## as_tibble.grouped_df dplyr
library(tsibble)
##
## Attaching package: 'tsibble'
## The following objects are masked from 'package:base':
##
## intersect, setdiff, union
library(plm)
##
## Attaching package: 'plm'
## The following object is masked from 'package:tsibble':
##
## index
## The following objects are masked from 'package:dplyr':
##
## between, lag, lead
library(fabletools)
library(vars)
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:plotly':
##
## select
## The following object is masked from 'package:dplyr':
##
## select
## Loading required package: strucchange
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following object is masked from 'package:tsibble':
##
## index
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: sandwich
##
## Attaching package: 'strucchange'
## The following object is masked from 'package:stringr':
##
## boundary
## Loading required package: urca
## Loading required package: lmtest
##
## Attaching package: 'vars'
## The following object is masked from 'package:fable':
##
## VAR
library(feasts)
library(tidyr)
library(urca)
library(corrplot)
## corrplot 0.95 loaded
library(purrr)
library(tsDyn)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Registered S3 method overwritten by 'tsDyn':
## method from
## tidy.VAR fable
##
## Attaching package: 'tsDyn'
## The following object is masked from 'package:fable':
##
## VECM
## The following object is masked from 'package:fabletools':
##
## MAPE
library(lubridate)
##
## Attaching package: 'lubridate'
## The following object is masked from 'package:tsibble':
##
## interval
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(ggplot2)
library(scales)
##
## Attaching package: 'scales'
## The following object is masked from 'package:purrr':
##
## discard
## The following object is masked from 'package:readr':
##
## col_factor
iip_path <- "E://Aadikartikey//IIP DATA.pdf"
iip_data <- extract_tables(iip_path, pages = 4, guess= TRUE, method = "stream")
## New names:
## • `` -> `...1`
## • `` -> `...4`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...9`
## • `` -> `...10`
iip_data
## [[1]]
## # A tibble: 20 × 10
## ...1 Mining Manufacturing ...4 Electricity ...6 ...7 `Gene ral` ...9
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <lgl>
## 1 Month (14.3… (77.63321) <NA> (7.994318) <NA> <NA> (100) NA
## 2 <NA> 2023-… 2024-25 2025… 2023… 2024-25 2025… 2023… 2024-25 NA
## 3 Apr* 122.6… 144.6 149.5 192.3 212.0 214.4 140.7 148.0 NA
## 4 May 128.1… 150.4 201.6 229.3 <NA> 145.6 154.7 NA
## 5 Jun 122.3… 146.6 205.2 222.8 <NA> 143.9 151.0 NA
## 6 Jul 111.9… 148.8 204.0 220.2 <NA> 142.7 149.8 NA
## 7 Aug 111.9… 146.1 220.5 212.3 <NA> 145.8 145.8 NA
## 8 Sep 111.5… 147.2 205.9 206.9 <NA> 142.3 146.9 NA
## 9 Oct 127.4… 148.4 203.8 207.8 <NA> 144.9 150.3 NA
## 10 Nov 131.3… 147.0 176.3 184.1 <NA> 141.1 148.1 NA
## 11 Dec 139.5… 157.2 181.6 192.8 <NA> 152.3 158.0 NA
## 12 Jan 144.3… 159.5 197.1 201.9 <NA> 153.6 161.6 NA
## 13 Feb 139.7… 148.4 187.2 194.0 <NA> 147.1 151.1 NA
## 14 Mar 156.2… 162.4 204.2 219.5 <NA> 160.0 166.3 NA
## 15 Average <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA
## 16 Apr-Mar 128.9… 150.6 - 198.3 208.6 - 146.7 152.6 NA
## 17 Growth o… <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA
## 18 Mar 1.3 1… 4.0 - 8.6 7.5 - 5.5 3.9 NA
## 19 Apr* 5.1 6… 4.2 3.4 -1.1 10.2 1.1 4.6 5.2 NA
## 20 Apr-Mar 7.5 3… 4.1 - 7.1 5.2 - 5.9 4.0 NA
## # ℹ 1 more variable: ...10 <chr>
iip_df <- as.data.frame(iip_data, stringsAsFactors= FALSE)
iip_data
## [[1]]
## # A tibble: 20 × 10
## ...1 Mining Manufacturing ...4 Electricity ...6 ...7 `Gene ral` ...9
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <lgl>
## 1 Month (14.3… (77.63321) <NA> (7.994318) <NA> <NA> (100) NA
## 2 <NA> 2023-… 2024-25 2025… 2023… 2024-25 2025… 2023… 2024-25 NA
## 3 Apr* 122.6… 144.6 149.5 192.3 212.0 214.4 140.7 148.0 NA
## 4 May 128.1… 150.4 201.6 229.3 <NA> 145.6 154.7 NA
## 5 Jun 122.3… 146.6 205.2 222.8 <NA> 143.9 151.0 NA
## 6 Jul 111.9… 148.8 204.0 220.2 <NA> 142.7 149.8 NA
## 7 Aug 111.9… 146.1 220.5 212.3 <NA> 145.8 145.8 NA
## 8 Sep 111.5… 147.2 205.9 206.9 <NA> 142.3 146.9 NA
## 9 Oct 127.4… 148.4 203.8 207.8 <NA> 144.9 150.3 NA
## 10 Nov 131.3… 147.0 176.3 184.1 <NA> 141.1 148.1 NA
## 11 Dec 139.5… 157.2 181.6 192.8 <NA> 152.3 158.0 NA
## 12 Jan 144.3… 159.5 197.1 201.9 <NA> 153.6 161.6 NA
## 13 Feb 139.7… 148.4 187.2 194.0 <NA> 147.1 151.1 NA
## 14 Mar 156.2… 162.4 204.2 219.5 <NA> 160.0 166.3 NA
## 15 Average <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA
## 16 Apr-Mar 128.9… 150.6 - 198.3 208.6 - 146.7 152.6 NA
## 17 Growth o… <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA
## 18 Mar 1.3 1… 4.0 - 8.6 7.5 - 5.5 3.9 NA
## 19 Apr* 5.1 6… 4.2 3.4 -1.1 10.2 1.1 4.6 5.2 NA
## 20 Apr-Mar 7.5 3… 4.1 - 7.1 5.2 - 5.9 4.0 NA
## # ℹ 1 more variable: ...10 <chr>
iip_df <- iip_df[-2, ]
iip_df <- iip_df[2:13, ]
iip_df_clean <- iip_df%>%
dplyr::select(`...1`, `Mining`, `Manufacturing`, `Electricity`, `Gene.ral`)
iip_df_clean <- iip_df_clean%>%
rename("Month" = `...1`, "General" = `Gene.ral`)
head(iip_df_clean)
## Month Mining Manufacturing Electricity General
## 3 Apr* 122.6 130.9 130.6 138.8 144.6 149.5 212.0 148.0
## 4 May 128.1 136.5 143.1 150.4 229.3 154.7
## 5 Jun 122.3 134.9 141.6 146.6 222.8 151.0
## 6 Jul 111.9 116.1 142.1 148.8 220.2 149.8
## 7 Aug 111.9 107.1 144.4 146.1 212.3 145.8
## 8 Sep 111.5 111.7 141.5 147.2 206.9 146.9
iip_df <- iip_df%>%
tidyr::separate(Mining, into = c("Mining_2023", "Mining_2024", "Mining_2025"), sep = "\\s+", convert = TRUE)
## Warning: Expected 3 pieces. Additional pieces discarded in 1 rows [1].
iip_df <- iip_df%>%
tidyr::separate(Manufacturing, into = c("Manufacturing_2023", "Manufacturing_2024", "Manufacturing_2025"), sep = "\\s+", convert = TRUE)
## Warning: Expected 3 pieces. Missing pieces filled with `NA` in 12 rows [1, 2, 3, 4, 5,
## 6, 7, 8, 9, 10, 11, 12].
iip_df <- iip_df %>%
dplyr::select(-`...9`)
iip_df <- iip_df%>%
rename("Month" = `...1`, "Electricity_2023" = `...4`, "Electricity_2024" = "Electricity",
"Electricity_2025" = `...6`, "General_2023" = `...7`, "General_2024" = "Gene.ral", "General_2025" = `...10`)
head(iip_df)
## Month Mining_2023 Mining_2024 Mining_2025 Manufacturing_2023
## 3 Apr* 122.6 130.9 130.6 144.6
## 4 May 128.1 136.5 143.1 150.4
## 5 Jun 122.3 134.9 141.6 146.6
## 6 Jul 111.9 116.1 142.1 148.8
## 7 Aug 111.9 107.1 144.4 146.1
## 8 Sep 111.5 111.7 141.5 147.2
## Manufacturing_2024 Manufacturing_2025 Electricity_2023 Electricity_2024
## 3 149.5 NA 192.3 212.0
## 4 NA NA 201.6 229.3
## 5 NA NA 205.2 222.8
## 6 NA NA 204.0 220.2
## 7 NA NA 220.5 212.3
## 8 NA NA 205.9 206.9
## Electricity_2025 General_2023 General_2024 General_2025
## 3 214.4 140.7 148.0 152.0
## 4 <NA> 145.6 154.7 <NA>
## 5 <NA> 143.9 151.0 <NA>
## 6 <NA> 142.7 149.8 <NA>
## 7 <NA> 145.8 145.8 <NA>
## 8 <NA> 142.3 146.9 <NA>
iip_df$Manufacturing_2025 <- iip_df$Manufacturing_2024
iip_df$Manufacturing_2024[1:12] <- NA
iip_df$Manufacturing_2024 <- iip_df$Manufacturing_2023
iip_df$Manufacturing_2023[1:12] <- NA
iip_df$Manufacturing_2023[1] <- 138.8
iip_df$Manufacturing_2023 <- iip_df$Mining_2025
iip_df$Mining_2025[2:12] <- NA
head(iip_df)
## Month Mining_2023 Mining_2024 Mining_2025 Manufacturing_2023
## 3 Apr* 122.6 130.9 130.6 130.6
## 4 May 128.1 136.5 NA 143.1
## 5 Jun 122.3 134.9 NA 141.6
## 6 Jul 111.9 116.1 NA 142.1
## 7 Aug 111.9 107.1 NA 144.4
## 8 Sep 111.5 111.7 NA 141.5
## Manufacturing_2024 Manufacturing_2025 Electricity_2023 Electricity_2024
## 3 144.6 149.5 192.3 212.0
## 4 150.4 NA 201.6 229.3
## 5 146.6 NA 205.2 222.8
## 6 148.8 NA 204.0 220.2
## 7 146.1 NA 220.5 212.3
## 8 147.2 NA 205.9 206.9
## Electricity_2025 General_2023 General_2024 General_2025
## 3 214.4 140.7 148.0 152.0
## 4 <NA> 145.6 154.7 <NA>
## 5 <NA> 143.9 151.0 <NA>
## 6 <NA> 142.7 149.8 <NA>
## 7 <NA> 145.8 145.8 <NA>
## 8 <NA> 142.3 146.9 <NA>
iip_df <- iip_df%>%
mutate(Month = gsub("\\*", "", Month), Month = as.character(Month))%>%
mutate(across(-Month, as.numeric))
iip_long <- iip_df %>%
pivot_longer(cols = -Month, names_to = "Sector_Year", values_to = "Growth")
iip_long
## # A tibble: 144 × 3
## Month Sector_Year Growth
## <chr> <chr> <dbl>
## 1 Apr Mining_2023 123.
## 2 Apr Mining_2024 131.
## 3 Apr Mining_2025 131.
## 4 Apr Manufacturing_2023 131.
## 5 Apr Manufacturing_2024 145.
## 6 Apr Manufacturing_2025 150.
## 7 Apr Electricity_2023 192.
## 8 Apr Electricity_2024 212
## 9 Apr Electricity_2025 214.
## 10 Apr General_2023 141.
## # ℹ 134 more rows
iip_long <- iip_long%>%
replace_na(list(Growth= 0))
#mutate(across(where(is.numeric), function(k)na_if(k, 0)))
colSums(is.na(iip_long))
## Month Sector_Year Growth
## 0 0 0
iip_long <- iip_long%>%
separate(Sector_Year, into = c("Sector", "Year"), sep = "_")
iip_long
## # A tibble: 144 × 4
## Month Sector Year Growth
## <chr> <chr> <chr> <dbl>
## 1 Apr Mining 2023 123.
## 2 Apr Mining 2024 131.
## 3 Apr Mining 2025 131.
## 4 Apr Manufacturing 2023 131.
## 5 Apr Manufacturing 2024 145.
## 6 Apr Manufacturing 2025 150.
## 7 Apr Electricity 2023 192.
## 8 Apr Electricity 2024 212
## 9 Apr Electricity 2025 214.
## 10 Apr General 2023 141.
## # ℹ 134 more rows
iip_long <- iip_long%>%
mutate(
Month_num = match(Month, month.abb),
Date = make_date(year= as.integer(Year), month = Month_num, day= 1)
)%>%
dplyr::select(-c(Month_num, Year, Month))
iip_long
## # A tibble: 144 × 3
## Sector Growth Date
## <chr> <dbl> <date>
## 1 Mining 123. 2023-04-01
## 2 Mining 131. 2024-04-01
## 3 Mining 131. 2025-04-01
## 4 Manufacturing 131. 2023-04-01
## 5 Manufacturing 145. 2024-04-01
## 6 Manufacturing 150. 2025-04-01
## 7 Electricity 192. 2023-04-01
## 8 Electricity 212 2024-04-01
## 9 Electricity 214. 2025-04-01
## 10 General 141. 2023-04-01
## # ℹ 134 more rows
#Creation of two different Containers of the existing data frame in which:
# one is Tibble and the other is Tsibble as Tibble is necessary for the ADF-testing
#While the Tsibble is important for the Forecasting work
ts_container <-new.env()
Sectors2 <- c("Mining", "Electricity", "General", "Manufacturing")
Sectors2%>%
purrr::walk(function(k){
ts_name <- paste0(tolower(k), "_ts_vector")
ts_object = iip_long%>%
filter(Sector == k)%>%
arrange(Date)%>%
pull(Growth)%>%
ts(start= c(2023, 1), frequency=12)
assign(ts_name, ts_object, envir= ts_container)
})
list2env(as.list(ts_container), envir = .GlobalEnv)
## <environment: R_GlobalEnv>
tsibble_container <- new.env()
Sectors <- c("Mining", "Manufacturing", "Electricity", "General")
Sectors%>%
purrr::walk(function(k){
tsibble_name <- paste0(tolower(k), "_tsibble")
tsibble_object = iip_long%>%
filter(Sector == k)%>%
arrange(Date)%>%
as_tsibble(index= Date)
assign(tsibble_name, tsibble_object, envir = tsibble_container)
})
adf_general <- urca::ur.df(general_ts_vector, type = "drift", lags =1, selectlags = "AIC")
summary(adf_general)
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -142.937 -7.357 8.365 12.068 144.643
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.3570 15.0306 0.489 0.628
## z.lag.1 -0.1233 0.1198 -1.029 0.311
## z.diff.lag -0.2964 0.1778 -1.667 0.106
##
## Residual standard error: 44.17 on 31 degrees of freedom
## Multiple R-squared: 0.1627, Adjusted R-squared: 0.1086
## F-statistic: 3.011 on 2 and 31 DF, p-value: 0.06382
##
##
## Value of test-statistic is: -1.0291 0.8382
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.58 -2.93 -2.60
## phi1 7.06 4.86 3.94
d_adf_general <- diff(general_ts_vector, differences = 1)
d_adf_general <- urca::ur.df(d_adf_general, type = "drift", lags= 1, selectlags = "AIC")
summary(d_adf_general)
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -146.736 2.364 6.252 8.718 159.428
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -7.4282 7.9557 -0.934 0.358
## z.lag.1 -1.5721 0.2978 -5.279 1.06e-05 ***
## z.diff.lag 0.1510 0.1801 0.838 0.409
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 45.03 on 30 degrees of freedom
## Multiple R-squared: 0.6911, Adjusted R-squared: 0.6705
## F-statistic: 33.56 on 2 and 30 DF, p-value: 2.226e-08
##
##
## Value of test-statistic is: -5.279 13.9347
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.58 -2.93 -2.60
## phi1 7.06 4.86 3.94
ts_list <- list(
mining = mining_ts_vector,
manufacturing = manufacturing_ts_vector,
electricity = electricity_ts_vector,
general = general_ts_vector
)
run_adf_tests <- function(ts_list, type = "drift", lags= 1, selectlags = "AIC"){
results <- lapply(
names(ts_list), function(name){
ts_data <- ts_list[[name]]
adf_level <- urca::ur.df(ts_data, type = "drift", lags=1, selectlags = "AIC")
level_stat <- summary(adf_level)@teststat[1]
level_crit <- summary(adf_level)@cval[1, "5pct"]
level_stationary <- level_stat < level_crit
ts_diff <- diff(ts_data)
diff_adf <- urca::ur.df(ts_diff, type = "drift", lags = 1, selectlags = "AIC")
diff_stat <- summary(diff_adf)@teststat[1]
diff_crit <- summary(diff_adf)@cval[1, "5pct"]
diff_stationary <- diff_stat < diff_crit
data.frame(
series = name,
level_stat = round(level_stat, 3),
level_crit = round(level_crit, 3),
level_stationary = level_stationary,
diff_stat = round(diff_stat, 3),
diff_crit = round(diff_crit, 3),
diff_stationary = diff_stationary,
stringsAsFactors = FALSE
)
}
)
do.call(rbind, results)
}
adf_results <- run_adf_tests(ts_list)
print(adf_results)
## series level_stat level_crit level_stationary diff_stat diff_crit
## 1 mining -1.163 -2.93 FALSE -5.228 -2.93
## 2 manufacturing -1.039 -2.93 FALSE -5.279 -2.93
## 3 electricity -0.941 -2.93 FALSE -5.187 -2.93
## 4 general -1.029 -2.93 FALSE -5.279 -2.93
## diff_stationary
## 1 TRUE
## 2 TRUE
## 3 TRUE
## 4 TRUE
#creating the Multivariate Time Series Object(Manufacturing, Mining, Electricity and General)
#To do a Johansen Cointegration Test and Proving the long run equilibrium between them
#Despite all the short run fluctuations and uncertainty among them , they all moves
#in a long run relationships.
vec_data <- cbind(
mining = mining_ts_vector,
electricity = electricity_ts_vector,
manufacturing = manufacturing_ts_vector,
general = general_ts_vector
)
john_sectors <- urca::ca.jo(vec_data, type= "trace", ecdet= "const", K=2)
summary(john_sectors)
##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 4.927190e-01 4.485223e-01 3.791583e-01 5.070054e-02 -1.387779e-17
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 1.77 7.52 9.24 12.97
## r <= 2 | 17.98 17.85 19.96 24.60
## r <= 1 | 38.21 32.00 34.91 41.07
## r = 0 | 61.29 49.65 53.12 60.16
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## mining.l2 electricity.l2 manufacturing.l2 general.l2
## mining.l2 1.00000000 1.000000 1.000000000 1.0000000
## electricity.l2 -0.05138833 1.035760 0.639102125 -0.2774744
## manufacturing.l2 1.35981619 -5.714212 3.947003654 5.5470184
## general.l2 -2.13762734 3.323518 -5.627492678 -7.1525655
## constant 0.07051703 1.417048 -0.002543615 73.1291572
## constant
## mining.l2 1.0000000
## electricity.l2 0.6707256
## manufacturing.l2 2.4509913
## general.l2 -1.7943806
## constant -465.4010013
##
## Weights W:
## (This is the loading matrix)
##
## mining.l2 electricity.l2 manufacturing.l2 general.l2
## mining.d -1.0018338 0.4797896 -0.21304566 0.08554271
## electricity.d -0.1382546 0.9689781 0.03382524 0.13075279
## manufacturing.d -0.7085731 0.8351751 -0.02372320 0.09230973
## general.d -0.6600870 0.7804541 0.13470219 0.09460804
## constant
## mining.d 6.948703e-15
## electricity.d 6.615415e-15
## manufacturing.d 7.122254e-15
## general.d 7.962633e-15
#Doing a VECM modelling after validating that the Sectors indeed have a long run equilibrium between them
vecm_sectors <- urca::cajorls(john_sectors, r=2)
summary(vecm_sectors)
## Length Class Mode
## rlm 12 mlm list
## beta 10 -none- numeric
#Converting the existing VECM model into a VAR model to do the forecasting.
vecy_var <- vars::vec2var(john_sectors, r=2)
#IRF Testing and Plotting to get a shock and it's response conclusion from the selected Sectors
irf_sectors <- tsDyn::irf(vecy_var, impulse= "electricity", response= "manufacturing", n.ahead=12, boot= TRUE, ci= 0.95
, runs= 1000)
print(irf_sectors)
##
## Impulse response coefficients
## $electricity
## manufacturing
## [1,] 4.248906
## [2,] 1.245450
## [3,] 6.076278
## [4,] 8.359155
## [5,] 8.318688
## [6,] 6.642183
## [7,] 5.283435
## [8,] 4.245155
## [9,] 3.601500
## [10,] 3.411135
## [11,] 3.676058
## [12,] 4.168721
## [13,] 4.649661
##
##
## Lower Band, CI= 0.95
## $electricity
## manufacturing
## [1,] 2.044237
## [2,] -10.390827
## [3,] -7.958734
## [4,] -8.356636
## [5,] -9.677139
## [6,] -12.236635
## [7,] -13.133061
## [8,] -13.872349
## [9,] -13.020596
## [10,] -12.580887
## [11,] -11.395750
## [12,] -10.826997
## [13,] -10.663311
##
##
## Upper Band, CI= 0.95
## $electricity
## manufacturing
## [1,] 5.116313
## [2,] 12.595467
## [3,] 19.548364
## [4,] 20.935757
## [5,] 22.023840
## [6,] 21.104109
## [7,] 20.122221
## [8,] 19.720635
## [9,] 19.406543
## [10,] 19.075374
## [11,] 18.919292
## [12,] 19.244122
## [13,] 19.577982
plot(irf_sectors)
h <- 24
vecy_forecast <- predict(vecy_var, n.ahead= h)
tsibble_list <- as.list(tsibble_container)%>%
purrr::map(as_tibble)
combined_df <- dplyr::bind_rows(tsibble_list)
combined_df
## # A tibble: 144 × 3
## Sector Growth Date
## <chr> <dbl> <date>
## 1 Manufacturing 151. 2023-01-01
## 2 Manufacturing 144. 2023-02-01
## 3 Manufacturing 156. 2023-03-01
## 4 Manufacturing 131. 2023-04-01
## 5 Manufacturing 143. 2023-05-01
## 6 Manufacturing 142. 2023-06-01
## 7 Manufacturing 142. 2023-07-01
## 8 Manufacturing 144. 2023-08-01
## 9 Manufacturing 142. 2023-09-01
## 10 Manufacturing 142. 2023-10-01
## # ℹ 134 more rows
combined_tsibble <- combined_df%>%
as_tsibble(index= Date, key= Sector)
head(combined_tsibble)
## # A tsibble: 6 x 3 [1D]
## # Key: Sector [1]
## Sector Growth Date
## <chr> <dbl> <date>
## 1 Electricity 197. 2023-01-01
## 2 Electricity 187. 2023-02-01
## 3 Electricity 204. 2023-03-01
## 4 Electricity 192. 2023-04-01
## 5 Electricity 202. 2023-05-01
## 6 Electricity 205. 2023-06-01
forecast_matrix <- vecy_forecast$fcst
forecast_names <- names(forecast_matrix)
last_date <- as.Date("2024-12-01")
future_date <- seq.Date(from = as.Date("2025-01-01"), length.out = h, by= "month")
forecast_tibble <- purrr::map_dfr(
forecast_names, function(sector_names){
tibble(
Sectors = sector_names,
Date = future_date,
forecast = forecast_matrix[[sector_names]][, "fcst"],
upper_forecast = forecast_matrix[[sector_names]][, "upper"],
lower_forecast = forecast_matrix[[sector_names]][, "lower"]
)
}
)
forecast_tsibble <- forecast_tibble%>%
feasts::as_tsibble(key= Sectors, index= Date)
head(forecast_tsibble)
## # A tsibble: 6 x 5 [1D]
## # Key: Sectors [1]
## Sectors Date forecast upper_forecast lower_forecast
## <chr> <date> <dbl> <dbl> <dbl>
## 1 electricity 2025-01-01 1.36 112. -110.
## 2 electricity 2025-02-01 1.89 132. -129.
## 3 electricity 2025-03-01 1.93 161. -157.
## 4 electricity 2025-04-01 1.97 182. -178.
## 5 electricity 2025-05-01 2.01 201. -197.
## 6 electricity 2025-06-01 1.91 219. -215.
print(forecast_tsibble)
## # A tsibble: 96 x 5 [1D]
## # Key: Sectors [4]
## Sectors Date forecast upper_forecast lower_forecast
## <chr> <date> <dbl> <dbl> <dbl>
## 1 electricity 2025-01-01 1.36 112. -110.
## 2 electricity 2025-02-01 1.89 132. -129.
## 3 electricity 2025-03-01 1.93 161. -157.
## 4 electricity 2025-04-01 1.97 182. -178.
## 5 electricity 2025-05-01 2.01 201. -197.
## 6 electricity 2025-06-01 1.91 219. -215.
## 7 electricity 2025-07-01 1.72 236. -233.
## 8 electricity 2025-08-01 1.58 252. -249.
## 9 electricity 2025-09-01 1.51 266. -263.
## 10 electricity 2025-10-01 1.51 280. -277.
## # ℹ 86 more rows
#Temporary Removing the April 2025 data as in order to merge both Forecasted and the Actual data
#properly without any duplication then Temporary removing the April 2025 then
#Re-adding the April 2025 by replacing the Forecasted April 2025 data with the Actual April 2025
forecast_tsibble_revised <- forecast_tsibble%>%
rename(
Sector = Sectors,
Growth = forecast
)%>%
mutate(Type= "Forecast")
Actual_tsibble <- combined_tsibble%>%
mutate(
upper_forecast = NA,
lower_forecast= NA,
Type = "Actual"
)
final_tsibble <- bind_rows(Actual_tsibble, forecast_tsibble_revised)%>%
arrange(Sector, Date)%>%
as_tsibble(index = Date, key= Sector)
head(final_tsibble)
## # A tsibble: 6 x 6 [1D]
## # Key: Sector [1]
## Sector Growth Date upper_forecast lower_forecast Type
## <chr> <dbl> <date> <dbl> <dbl> <chr>
## 1 Electricity 197. 2023-01-01 NA NA Actual
## 2 Electricity 187. 2023-02-01 NA NA Actual
## 3 Electricity 204. 2023-03-01 NA NA Actual
## 4 Electricity 192. 2023-04-01 NA NA Actual
## 5 Electricity 202. 2023-05-01 NA NA Actual
## 6 Electricity 205. 2023-06-01 NA NA Actual
full_forecast <- final_tsibble%>%
filter(Type== "Forecast")%>%
group_by(Sector)%>%
complete(Date = seq(min(final_tsibble$Date), max(final_tsibble$Date), by = "month"))%>%
mutate(across(c(Growth, upper_forecast, lower_forecast), function(k)
na.approx(k, rule= 2, na.rm= FALSE)
), Type= "Forecast")
revising_the_final_tsibble <- final_tsibble%>%
left_join(
full_forecast%>%
dplyr::select(-Type)%>%
rename_with(function(k) paste0(k, "_fcst")),
by = c("Sector"= "Sector_fcst", "Date"= "Date_fcst")
)%>%
mutate(Growth = ifelse(is.na(Growth)|Growth == 0 & !is.na(Growth_fcst),Growth_fcst,
Growth),
upper_forecast = coalesce(upper_forecast, upper_forecast_fcst),
lower_forecast = coalesce(lower_forecast, lower_forecast_fcst),
Type = case_when(
Type == "Actual" & (is.na(Growth)| Growth == 0 & !is.na(Growth_fcst)) ~ "Imputed",
TRUE ~ Type
)
)%>%
dplyr::select(-ends_with("_fcst"))
head(revising_the_final_tsibble)
## # A tsibble: 6 x 6 [1D]
## # Key: Sector [1]
## Sector Growth Date upper_forecast lower_forecast Type
## <chr> <dbl> <date> <dbl> <dbl> <chr>
## 1 Electricity 197. 2023-01-01 NA NA Actual
## 2 Electricity 187. 2023-02-01 NA NA Actual
## 3 Electricity 204. 2023-03-01 NA NA Actual
## 4 Electricity 192. 2023-04-01 NA NA Actual
## 5 Electricity 202. 2023-05-01 NA NA Actual
## 6 Electricity 205. 2023-06-01 NA NA Actual
April_2025_data <- revising_the_final_tsibble%>%
filter(Date == as.Date("2025-04-01"), Type== "Actual")
Temp_remove <- revising_the_final_tsibble%>%
filter(!(Date == as.Date("2025-12-01")& Type== "Actual"))
revising_the_final_tsibble <- revising_the_final_tsibble%>%
mutate(
Growth = ifelse(
Type == "Actual" & Growth == 0,
NA_real_,
Growth
)
)
#Checking the Zeros and the NAs then seperating those rows where the Zeros are present then
#filling them up by using a simple model NAIVE and lastly
#lowercasing all the Sectors present in the data after converting it into a Data Frame
zero_to_check<- revising_the_final_tsibble%>%
filter(Type == "Actual")%>%
summarise(ZeroCount = sum(Growth == 0, na.rm = TRUE))
NA_to_check <- revising_the_final_tsibble%>%
filter(Type== "Actual")%>%
summarise(NAcount = sum(is.na(Growth)))
Imputation_start <- as.Date("2025-01-01")
Imputation_end <- as.Date("2025-12-01")
missing_periods <- revising_the_final_tsibble%>%
filter(
Type == "Actual",
Date >= Imputation_start,
Date <=Imputation_end,
is.na(Growth)|Growth == 0
)%>%
distinct(Date)%>%
pull(Date)
model_data <- revising_the_final_tsibble%>%
filter(
Type == "Actual",
!is.na(Growth),
Growth != 0,
Date < as.Date("2025-01-01")
)
sector_models2 <- model_data%>%
model(
NAIVE = NAIVE(Growth)
)
## Warning: 4 errors (1 unique) encountered for NAIVE
## [4] .data contains implicit gaps in time. You should check your data and convert implicit gaps into explicit missing values using `tsibble::fill_gaps()` if required.
forecasts <- sector_models2%>%
forecast(h= length(missing_periods))%>%
mutate(
Type = "Imputed",
Sector = as.character(Sector)
)%>%
as_tsibble(key = c(Sector, .model), index= Date)
final_results <- revising_the_final_tsibble%>%
filter(
!(Type == "Actual" & Date %in% missing_periods)
)%>%
bind_rows(
sector_models2%>%
forecast(h = length(missing_periods))%>%
as_tibble()%>%
mutate(
Type = "Imputed",
Sector = as.character(Sector),
Growth = .mean
)%>%
dplyr::select(-.model, -.mean)
)%>%
mutate(
Growth = ifelse(Date == as.Date("2025-04-01"), April_2025_data$Growth, Growth),
Type = ifelse(Date == as.Date("2025-04-01"), "Actual", Type)
)%>%
arrange(Sector, Date)%>%
as_tsibble(key = Sector, index = Date)
final_df <- as.data.frame(final_results, stringAsFactors= FALSE)
final_df
## Sector Growth Date upper_forecast lower_forecast Type
## 1 Electricity 197.1000000 2023-01-01 NA NA Actual
## 2 Electricity 187.2000000 2023-02-01 NA NA Actual
## 3 Electricity 204.2000000 2023-03-01 NA NA Actual
## 4 Electricity 192.3000000 2023-04-01 NA NA Actual
## 5 Electricity 201.6000000 2023-05-01 NA NA Actual
## 6 Electricity 205.2000000 2023-06-01 NA NA Actual
## 7 Electricity 204.0000000 2023-07-01 NA NA Actual
## 8 Electricity 220.5000000 2023-08-01 NA NA Actual
## 9 Electricity 205.9000000 2023-09-01 NA NA Actual
## 10 Electricity 203.8000000 2023-10-01 NA NA Actual
## 11 Electricity 176.3000000 2023-11-01 NA NA Actual
## 12 Electricity 181.6000000 2023-12-01 NA NA Actual
## 13 Electricity 201.9000000 2024-01-01 NA NA Actual
## 14 Electricity 194.0000000 2024-02-01 NA NA Actual
## 15 Electricity 219.5000000 2024-03-01 NA NA Actual
## 16 Electricity 212.0000000 2024-04-01 NA NA Actual
## 17 Electricity 229.3000000 2024-05-01 NA NA Actual
## 18 Electricity 222.8000000 2024-06-01 NA NA Actual
## 19 Electricity 220.2000000 2024-07-01 NA NA Actual
## 20 Electricity 212.3000000 2024-08-01 NA NA Actual
## 21 Electricity 206.9000000 2024-09-01 NA NA Actual
## 22 Electricity 207.8000000 2024-10-01 NA NA Actual
## 23 Electricity 184.1000000 2024-11-01 NA NA Actual
## 24 Electricity 192.8000000 2024-12-01 NA NA Actual
## 25 Electricity NA 2024-12-02 NA NA Imputed
## 26 Electricity NA 2024-12-03 NA NA Imputed
## 27 Electricity NA 2024-12-04 NA NA Imputed
## 28 Electricity NA 2024-12-05 NA NA Imputed
## 29 Electricity NA 2024-12-06 NA NA Imputed
## 30 Electricity NA 2024-12-07 NA NA Imputed
## 31 Electricity NA 2024-12-08 NA NA Imputed
## 32 Electricity NA 2024-12-09 NA NA Imputed
## 33 Electricity NA 2024-12-10 NA NA Imputed
## 34 Electricity NA 2024-12-11 NA NA Imputed
## 35 Electricity NA 2024-12-12 NA NA Imputed
## 36 Electricity 130.6000000 2025-04-01 NA NA Actual
## 37 General 153.6000000 2023-01-01 NA NA Actual
## 38 General 147.1000000 2023-02-01 NA NA Actual
## 39 General 160.0000000 2023-03-01 NA NA Actual
## 40 General 140.7000000 2023-04-01 NA NA Actual
## 41 General 145.6000000 2023-05-01 NA NA Actual
## 42 General 143.9000000 2023-06-01 NA NA Actual
## 43 General 142.7000000 2023-07-01 NA NA Actual
## 44 General 145.8000000 2023-08-01 NA NA Actual
## 45 General 142.3000000 2023-09-01 NA NA Actual
## 46 General 144.9000000 2023-10-01 NA NA Actual
## 47 General 141.1000000 2023-11-01 NA NA Actual
## 48 General 152.3000000 2023-12-01 NA NA Actual
## 49 General 161.6000000 2024-01-01 NA NA Actual
## 50 General 151.1000000 2024-02-01 NA NA Actual
## 51 General 166.3000000 2024-03-01 NA NA Actual
## 52 General 148.0000000 2024-04-01 NA NA Actual
## 53 General 154.7000000 2024-05-01 NA NA Actual
## 54 General 151.0000000 2024-06-01 NA NA Actual
## 55 General 149.8000000 2024-07-01 NA NA Actual
## 56 General 145.8000000 2024-08-01 NA NA Actual
## 57 General 146.9000000 2024-09-01 NA NA Actual
## 58 General 150.3000000 2024-10-01 NA NA Actual
## 59 General 148.1000000 2024-11-01 NA NA Actual
## 60 General 158.0000000 2024-12-01 NA NA Actual
## 61 General NA 2024-12-02 NA NA Imputed
## 62 General NA 2024-12-03 NA NA Imputed
## 63 General NA 2024-12-04 NA NA Imputed
## 64 General NA 2024-12-05 NA NA Imputed
## 65 General NA 2024-12-06 NA NA Imputed
## 66 General NA 2024-12-07 NA NA Imputed
## 67 General NA 2024-12-08 NA NA Imputed
## 68 General NA 2024-12-09 NA NA Imputed
## 69 General NA 2024-12-10 NA NA Imputed
## 70 General NA 2024-12-11 NA NA Imputed
## 71 General NA 2024-12-12 NA NA Imputed
## 72 General 130.6000000 2025-04-01 NA NA Actual
## 73 Manufacturing 150.8000000 2023-01-01 NA NA Actual
## 74 Manufacturing 144.4000000 2023-02-01 NA NA Actual
## 75 Manufacturing 156.2000000 2023-03-01 NA NA Actual
## 76 Manufacturing 130.6000000 2023-04-01 NA NA Actual
## 77 Manufacturing 143.1000000 2023-05-01 NA NA Actual
## 78 Manufacturing 141.6000000 2023-06-01 NA NA Actual
## 79 Manufacturing 142.1000000 2023-07-01 NA NA Actual
## 80 Manufacturing 144.4000000 2023-08-01 NA NA Actual
## 81 Manufacturing 141.5000000 2023-09-01 NA NA Actual
## 82 Manufacturing 142.1000000 2023-10-01 NA NA Actual
## 83 Manufacturing 139.3000000 2023-11-01 NA NA Actual
## 84 Manufacturing 151.6000000 2023-12-01 NA NA Actual
## 85 Manufacturing 159.5000000 2024-01-01 NA NA Actual
## 86 Manufacturing 148.4000000 2024-02-01 NA NA Actual
## 87 Manufacturing 162.4000000 2024-03-01 NA NA Actual
## 88 Manufacturing 144.6000000 2024-04-01 NA NA Actual
## 89 Manufacturing 150.4000000 2024-05-01 NA NA Actual
## 90 Manufacturing 146.6000000 2024-06-01 NA NA Actual
## 91 Manufacturing 148.8000000 2024-07-01 NA NA Actual
## 92 Manufacturing 146.1000000 2024-08-01 NA NA Actual
## 93 Manufacturing 147.2000000 2024-09-01 NA NA Actual
## 94 Manufacturing 148.4000000 2024-10-01 NA NA Actual
## 95 Manufacturing 147.0000000 2024-11-01 NA NA Actual
## 96 Manufacturing 157.2000000 2024-12-01 NA NA Actual
## 97 Manufacturing NA 2024-12-02 NA NA Imputed
## 98 Manufacturing NA 2024-12-03 NA NA Imputed
## 99 Manufacturing NA 2024-12-04 NA NA Imputed
## 100 Manufacturing NA 2024-12-05 NA NA Imputed
## 101 Manufacturing NA 2024-12-06 NA NA Imputed
## 102 Manufacturing NA 2024-12-07 NA NA Imputed
## 103 Manufacturing NA 2024-12-08 NA NA Imputed
## 104 Manufacturing NA 2024-12-09 NA NA Imputed
## 105 Manufacturing NA 2024-12-10 NA NA Imputed
## 106 Manufacturing NA 2024-12-11 NA NA Imputed
## 107 Manufacturing NA 2024-12-12 NA NA Imputed
## 108 Manufacturing 130.6000000 2025-04-01 NA NA Actual
## 109 Mining 144.3000000 2023-01-01 NA NA Actual
## 110 Mining 139.7000000 2023-02-01 NA NA Actual
## 111 Mining 156.2000000 2023-03-01 NA NA Actual
## 112 Mining 122.6000000 2023-04-01 NA NA Actual
## 113 Mining 128.1000000 2023-05-01 NA NA Actual
## 114 Mining 122.3000000 2023-06-01 NA NA Actual
## 115 Mining 111.9000000 2023-07-01 NA NA Actual
## 116 Mining 111.9000000 2023-08-01 NA NA Actual
## 117 Mining 111.5000000 2023-09-01 NA NA Actual
## 118 Mining 127.4000000 2023-10-01 NA NA Actual
## 119 Mining 131.3000000 2023-11-01 NA NA Actual
## 120 Mining 139.5000000 2023-12-01 NA NA Actual
## 121 Mining 150.7000000 2024-01-01 NA NA Actual
## 122 Mining 141.9000000 2024-02-01 NA NA Actual
## 123 Mining 158.1000000 2024-03-01 NA NA Actual
## 124 Mining 130.9000000 2024-04-01 NA NA Actual
## 125 Mining 136.5000000 2024-05-01 NA NA Actual
## 126 Mining 134.9000000 2024-06-01 NA NA Actual
## 127 Mining 116.1000000 2024-07-01 NA NA Actual
## 128 Mining 107.1000000 2024-08-01 NA NA Actual
## 129 Mining 111.7000000 2024-09-01 NA NA Actual
## 130 Mining 128.5000000 2024-10-01 NA NA Actual
## 131 Mining 133.8000000 2024-11-01 NA NA Actual
## 132 Mining 143.2000000 2024-12-01 NA NA Actual
## 133 Mining NA 2024-12-02 NA NA Imputed
## 134 Mining NA 2024-12-03 NA NA Imputed
## 135 Mining NA 2024-12-04 NA NA Imputed
## 136 Mining NA 2024-12-05 NA NA Imputed
## 137 Mining NA 2024-12-06 NA NA Imputed
## 138 Mining NA 2024-12-07 NA NA Imputed
## 139 Mining NA 2024-12-08 NA NA Imputed
## 140 Mining NA 2024-12-09 NA NA Imputed
## 141 Mining NA 2024-12-10 NA NA Imputed
## 142 Mining NA 2024-12-11 NA NA Imputed
## 143 Mining NA 2024-12-12 NA NA Imputed
## 144 Mining 130.6000000 2025-04-01 NA NA Actual
## 145 electricity 1.3633391 2025-01-01 112.39008 -109.66341 Forecast
## 146 electricity 1.8879907 2025-02-01 132.36739 -128.59141 Forecast
## 147 electricity 1.9329494 2025-03-01 160.51986 -156.65396 Forecast
## 148 electricity 130.6000000 2025-04-01 181.61335 -177.66474 Actual
## 149 electricity 2.0098018 2025-05-01 201.38825 -197.36864 Forecast
## 150 electricity 1.9055897 2025-06-01 219.27242 -215.46124 Forecast
## 151 electricity 1.7230316 2025-07-01 236.10330 -232.65724 Forecast
## 152 electricity 1.5789354 2025-08-01 251.69072 -248.53285 Forecast
## 153 electricity 1.5143806 2025-09-01 266.18775 -263.15899 Forecast
## 154 electricity 1.5131100 2025-10-01 279.78292 -276.75670 Forecast
## 155 electricity 1.5511098 2025-11-01 292.66171 -289.55949 Forecast
## 156 electricity 1.6075610 2025-12-01 304.96265 -301.74753 Forecast
## 157 electricity 1.6614778 2026-01-01 316.79057 -313.46762 Forecast
## 158 electricity 1.6966793 2026-02-01 328.21984 -324.82648 Forecast
## 159 electricity 1.7077133 2026-03-01 339.29693 -335.88150 Forecast
## 160 electricity 1.6989662 2026-04-01 350.04875 -346.65082 Forecast
## 161 electricity 1.6795171 2026-05-01 360.49230 -357.13327 Forecast
## 162 electricity 1.6585752 2026-06-01 370.64206 -367.32491 Forecast
## 163 electricity 1.6428479 2026-07-01 380.51354 -377.22784 Forecast
## 164 electricity 1.6354418 2026-08-01 390.12451 -386.85362 Forecast
## 165 electricity 1.6360097 2026-09-01 399.49446 -396.22244 Forecast
## 166 electricity 1.6418864 2026-10-01 408.64312 -405.35935 Forecast
## 167 electricity 1.6496274 2026-11-01 417.58873 -414.28947 Forecast
## 168 electricity 1.6563097 2026-12-01 426.34698 -423.03436 Forecast
## 169 general 1.0593936 2025-01-01 82.52285 -80.40407 Forecast
## 170 general 1.3139490 2025-02-01 97.64973 -95.02183 Forecast
## 171 general 1.3187533 2025-03-01 118.19790 -115.56040 Forecast
## 172 general 130.6000000 2025-04-01 133.16798 -130.18567 Actual
## 173 general 1.6835981 2025-05-01 147.23263 -143.86543 Forecast
## 174 general 1.7034976 2025-06-01 160.03599 -156.62900 Forecast
## 175 general 1.6003263 2025-07-01 172.20279 -169.00214 Forecast
## 176 general 1.4842832 2025-08-01 183.53237 -180.56381 Forecast
## 177 general 1.3995043 2025-09-01 194.12167 -191.32266 Forecast
## 178 general 1.3492786 2025-10-01 204.08349 -201.38493 Forecast
## 179 general 1.3346522 2025-11-01 213.52057 -210.85127 Forecast
## 180 general 1.3525339 2025-12-01 222.51264 -219.80757 Forecast
## 181 general 1.3888571 2026-01-01 231.13558 -228.35786 Forecast
## 182 general 1.4259058 2026-02-01 239.45173 -236.59992 Forecast
## 183 general 1.4516484 2026-03-01 247.50349 -244.60019 Forecast
## 184 general 1.4620975 2026-04-01 255.31686 -252.39266 Forecast
## 185 general 1.4591233 2026-05-01 262.90860 -259.99035 Forecast
## 186 general 1.4477832 2026-06-01 270.29151 -267.39595 Forecast
## 187 general 1.4340398 2026-07-01 277.47703 -274.60895 Forecast
## 188 general 1.4227985 2026-08-01 284.47662 -281.63103 Forecast
## 189 general 1.4166947 2026-09-01 291.30248 -288.46909 Forecast
## 190 general 1.4159624 2026-10-01 297.96722 -295.13530 Forecast
## 191 general 1.4191309 2026-11-01 304.48314 -301.64487 Forecast
## 192 general 1.4240200 2026-12-01 310.86136 -308.01332 Forecast
## 193 manufacturing 1.1335168 2025-01-01 81.27371 -79.00668 Forecast
## 194 manufacturing 1.4387151 2025-02-01 95.90854 -93.03111 Forecast
## 195 manufacturing 1.4642155 2025-03-01 116.04951 -113.12108 Forecast
## 196 manufacturing 130.6000000 2025-04-01 130.76861 -127.47948 Actual
## 197 manufacturing 1.8369186 2025-05-01 144.61057 -140.93673 Forecast
## 198 manufacturing 1.8461067 2025-06-01 157.21804 -153.52583 Forecast
## 199 manufacturing 1.7270084 2025-07-01 169.22345 -165.76944 Forecast
## 200 manufacturing 1.5975113 2025-08-01 180.39904 -177.20402 Forecast
## 201 manufacturing 1.5057047 2025-09-01 190.83005 -187.81864 Forecast
## 202 manufacturing 1.4546013 2025-10-01 200.62618 -197.71698 Forecast
## 203 manufacturing 1.4433513 2025-11-01 209.89362 -207.00692 Forecast
## 204 manufacturing 1.4665896 2025-12-01 218.71672 -215.78354 Forecast
## 205 manufacturing 1.5081060 2026-01-01 227.17587 -224.15966 Forecast
## 206 manufacturing 1.5486515 2026-02-01 235.33592 -232.23862 Forecast
## 207 manufacturing 1.5756401 2026-03-01 243.23989 -240.08861 Forecast
## 208 manufacturing 1.5854144 2026-04-01 250.91307 -247.74224 Forecast
## 209 manufacturing 1.5806606 2026-05-01 258.37084 -255.20952 Forecast
## 210 manufacturing 1.5673202 2026-06-01 265.62450 -262.48986 Forecast
## 211 manufacturing 1.5520256 2026-07-01 272.68416 -269.58011 Forecast
## 212 manufacturing 1.5400088 2026-08-01 279.56041 -276.48039 Forecast
## 213 manufacturing 1.5338970 2026-09-01 286.26500 -283.19720 Forecast
## 214 manufacturing 1.5336866 2026-10-01 292.81050 -289.74313 Forecast
## 215 manufacturing 1.5375831 2026-11-01 299.20936 -296.13419 Forecast
## 216 manufacturing 1.5431217 2026-12-01 305.47288 -302.38664 Forecast
## 217 mining 0.6092385 2025-01-01 73.87455 -72.65607 Forecast
## 218 mining 0.5716553 2025-02-01 87.94737 -86.80406 Forecast
## 219 mining 0.5568408 2025-03-01 105.42790 -104.31422 Forecast
## 220 mining 130.6000000 2025-04-01 117.87977 -116.25438 Actual
## 221 mining 1.0962234 2025-05-01 129.77800 -127.58555 Forecast
## 222 mining 1.2093305 2025-06-01 140.71851 -138.29985 Forecast
## 223 mining 1.1883445 2025-07-01 151.17783 -148.80114 Forecast
## 224 mining 1.1160433 2025-08-01 160.96985 -158.73776 Forecast
## 225 mining 1.0296910 2025-09-01 170.18044 -168.12106 Forecast
## 226 mining 0.9484000 2025-10-01 178.88120 -176.98440 Forecast
## 227 mining 0.8938773 2025-11-01 187.12950 -185.34175 Forecast
## 228 mining 0.8777085 2025-12-01 194.97310 -193.21768 Forecast
## 229 mining 0.8936039 2026-01-01 202.47480 -200.68759 Forecast
## 230 mining 0.9256938 2026-02-01 209.69532 -207.84393 Forecast
## 231 mining 0.9588082 2026-03-01 216.68031 -214.76270 Forecast
## 232 mining 0.9829132 2026-04-01 223.45928 -221.49345 Forecast
## 233 mining 0.9937258 2026-05-01 230.05061 -228.06316 Forecast
## 234 mining 0.9920797 2026-06-01 236.46656 -234.48240 Forecast
## 235 mining 0.9823120 2026-07-01 242.71633 -240.75171 Forecast
## 236 mining 0.9699298 2026-08-01 248.80824 -246.86838 Forecast
## 237 mining 0.9595114 2026-09-01 254.75090 -252.83188 Forecast
## 238 mining 0.9535840 2026-10-01 260.55374 -258.64657 Forecast
## 239 mining 0.9525216 2026-11-01 266.22654 -264.32150 Forecast
## 240 mining 0.9551199 2026-12-01 271.77886 -269.86862 Forecast
final_df <- final_df%>%
mutate(
Sector = tolower(Sector)
)
final_df <- final_df%>%
filter(Type != "Imputed")%>%
filter(!(Type == "Forecast"&
format(Date, "%m") == 4&
format(Date, "%y") %in% c(2025)))%>%
arrange(Sector, Date)
write.csv(final_df, "E://Aadikartikey//iip_full_results.csv", row.names = FALSE)
print(final_df)
## Sector Growth Date upper_forecast lower_forecast Type
## 1 electricity 197.1000000 2023-01-01 NA NA Actual
## 2 electricity 187.2000000 2023-02-01 NA NA Actual
## 3 electricity 204.2000000 2023-03-01 NA NA Actual
## 4 electricity 192.3000000 2023-04-01 NA NA Actual
## 5 electricity 201.6000000 2023-05-01 NA NA Actual
## 6 electricity 205.2000000 2023-06-01 NA NA Actual
## 7 electricity 204.0000000 2023-07-01 NA NA Actual
## 8 electricity 220.5000000 2023-08-01 NA NA Actual
## 9 electricity 205.9000000 2023-09-01 NA NA Actual
## 10 electricity 203.8000000 2023-10-01 NA NA Actual
## 11 electricity 176.3000000 2023-11-01 NA NA Actual
## 12 electricity 181.6000000 2023-12-01 NA NA Actual
## 13 electricity 201.9000000 2024-01-01 NA NA Actual
## 14 electricity 194.0000000 2024-02-01 NA NA Actual
## 15 electricity 219.5000000 2024-03-01 NA NA Actual
## 16 electricity 212.0000000 2024-04-01 NA NA Actual
## 17 electricity 229.3000000 2024-05-01 NA NA Actual
## 18 electricity 222.8000000 2024-06-01 NA NA Actual
## 19 electricity 220.2000000 2024-07-01 NA NA Actual
## 20 electricity 212.3000000 2024-08-01 NA NA Actual
## 21 electricity 206.9000000 2024-09-01 NA NA Actual
## 22 electricity 207.8000000 2024-10-01 NA NA Actual
## 23 electricity 184.1000000 2024-11-01 NA NA Actual
## 24 electricity 192.8000000 2024-12-01 NA NA Actual
## 25 electricity 1.3633391 2025-01-01 112.39008 -109.66341 Forecast
## 26 electricity 1.8879907 2025-02-01 132.36739 -128.59141 Forecast
## 27 electricity 1.9329494 2025-03-01 160.51986 -156.65396 Forecast
## 28 electricity 130.6000000 2025-04-01 NA NA Actual
## 29 electricity 130.6000000 2025-04-01 181.61335 -177.66474 Actual
## 30 electricity 2.0098018 2025-05-01 201.38825 -197.36864 Forecast
## 31 electricity 1.9055897 2025-06-01 219.27242 -215.46124 Forecast
## 32 electricity 1.7230316 2025-07-01 236.10330 -232.65724 Forecast
## 33 electricity 1.5789354 2025-08-01 251.69072 -248.53285 Forecast
## 34 electricity 1.5143806 2025-09-01 266.18775 -263.15899 Forecast
## 35 electricity 1.5131100 2025-10-01 279.78292 -276.75670 Forecast
## 36 electricity 1.5511098 2025-11-01 292.66171 -289.55949 Forecast
## 37 electricity 1.6075610 2025-12-01 304.96265 -301.74753 Forecast
## 38 electricity 1.6614778 2026-01-01 316.79057 -313.46762 Forecast
## 39 electricity 1.6966793 2026-02-01 328.21984 -324.82648 Forecast
## 40 electricity 1.7077133 2026-03-01 339.29693 -335.88150 Forecast
## 41 electricity 1.6989662 2026-04-01 350.04875 -346.65082 Forecast
## 42 electricity 1.6795171 2026-05-01 360.49230 -357.13327 Forecast
## 43 electricity 1.6585752 2026-06-01 370.64206 -367.32491 Forecast
## 44 electricity 1.6428479 2026-07-01 380.51354 -377.22784 Forecast
## 45 electricity 1.6354418 2026-08-01 390.12451 -386.85362 Forecast
## 46 electricity 1.6360097 2026-09-01 399.49446 -396.22244 Forecast
## 47 electricity 1.6418864 2026-10-01 408.64312 -405.35935 Forecast
## 48 electricity 1.6496274 2026-11-01 417.58873 -414.28947 Forecast
## 49 electricity 1.6563097 2026-12-01 426.34698 -423.03436 Forecast
## 50 general 153.6000000 2023-01-01 NA NA Actual
## 51 general 147.1000000 2023-02-01 NA NA Actual
## 52 general 160.0000000 2023-03-01 NA NA Actual
## 53 general 140.7000000 2023-04-01 NA NA Actual
## 54 general 145.6000000 2023-05-01 NA NA Actual
## 55 general 143.9000000 2023-06-01 NA NA Actual
## 56 general 142.7000000 2023-07-01 NA NA Actual
## 57 general 145.8000000 2023-08-01 NA NA Actual
## 58 general 142.3000000 2023-09-01 NA NA Actual
## 59 general 144.9000000 2023-10-01 NA NA Actual
## 60 general 141.1000000 2023-11-01 NA NA Actual
## 61 general 152.3000000 2023-12-01 NA NA Actual
## 62 general 161.6000000 2024-01-01 NA NA Actual
## 63 general 151.1000000 2024-02-01 NA NA Actual
## 64 general 166.3000000 2024-03-01 NA NA Actual
## 65 general 148.0000000 2024-04-01 NA NA Actual
## 66 general 154.7000000 2024-05-01 NA NA Actual
## 67 general 151.0000000 2024-06-01 NA NA Actual
## 68 general 149.8000000 2024-07-01 NA NA Actual
## 69 general 145.8000000 2024-08-01 NA NA Actual
## 70 general 146.9000000 2024-09-01 NA NA Actual
## 71 general 150.3000000 2024-10-01 NA NA Actual
## 72 general 148.1000000 2024-11-01 NA NA Actual
## 73 general 158.0000000 2024-12-01 NA NA Actual
## 74 general 1.0593936 2025-01-01 82.52285 -80.40407 Forecast
## 75 general 1.3139490 2025-02-01 97.64973 -95.02183 Forecast
## 76 general 1.3187533 2025-03-01 118.19790 -115.56040 Forecast
## 77 general 130.6000000 2025-04-01 NA NA Actual
## 78 general 130.6000000 2025-04-01 133.16798 -130.18567 Actual
## 79 general 1.6835981 2025-05-01 147.23263 -143.86543 Forecast
## 80 general 1.7034976 2025-06-01 160.03599 -156.62900 Forecast
## 81 general 1.6003263 2025-07-01 172.20279 -169.00214 Forecast
## 82 general 1.4842832 2025-08-01 183.53237 -180.56381 Forecast
## 83 general 1.3995043 2025-09-01 194.12167 -191.32266 Forecast
## 84 general 1.3492786 2025-10-01 204.08349 -201.38493 Forecast
## 85 general 1.3346522 2025-11-01 213.52057 -210.85127 Forecast
## 86 general 1.3525339 2025-12-01 222.51264 -219.80757 Forecast
## 87 general 1.3888571 2026-01-01 231.13558 -228.35786 Forecast
## 88 general 1.4259058 2026-02-01 239.45173 -236.59992 Forecast
## 89 general 1.4516484 2026-03-01 247.50349 -244.60019 Forecast
## 90 general 1.4620975 2026-04-01 255.31686 -252.39266 Forecast
## 91 general 1.4591233 2026-05-01 262.90860 -259.99035 Forecast
## 92 general 1.4477832 2026-06-01 270.29151 -267.39595 Forecast
## 93 general 1.4340398 2026-07-01 277.47703 -274.60895 Forecast
## 94 general 1.4227985 2026-08-01 284.47662 -281.63103 Forecast
## 95 general 1.4166947 2026-09-01 291.30248 -288.46909 Forecast
## 96 general 1.4159624 2026-10-01 297.96722 -295.13530 Forecast
## 97 general 1.4191309 2026-11-01 304.48314 -301.64487 Forecast
## 98 general 1.4240200 2026-12-01 310.86136 -308.01332 Forecast
## 99 manufacturing 150.8000000 2023-01-01 NA NA Actual
## 100 manufacturing 144.4000000 2023-02-01 NA NA Actual
## 101 manufacturing 156.2000000 2023-03-01 NA NA Actual
## 102 manufacturing 130.6000000 2023-04-01 NA NA Actual
## 103 manufacturing 143.1000000 2023-05-01 NA NA Actual
## 104 manufacturing 141.6000000 2023-06-01 NA NA Actual
## 105 manufacturing 142.1000000 2023-07-01 NA NA Actual
## 106 manufacturing 144.4000000 2023-08-01 NA NA Actual
## 107 manufacturing 141.5000000 2023-09-01 NA NA Actual
## 108 manufacturing 142.1000000 2023-10-01 NA NA Actual
## 109 manufacturing 139.3000000 2023-11-01 NA NA Actual
## 110 manufacturing 151.6000000 2023-12-01 NA NA Actual
## 111 manufacturing 159.5000000 2024-01-01 NA NA Actual
## 112 manufacturing 148.4000000 2024-02-01 NA NA Actual
## 113 manufacturing 162.4000000 2024-03-01 NA NA Actual
## 114 manufacturing 144.6000000 2024-04-01 NA NA Actual
## 115 manufacturing 150.4000000 2024-05-01 NA NA Actual
## 116 manufacturing 146.6000000 2024-06-01 NA NA Actual
## 117 manufacturing 148.8000000 2024-07-01 NA NA Actual
## 118 manufacturing 146.1000000 2024-08-01 NA NA Actual
## 119 manufacturing 147.2000000 2024-09-01 NA NA Actual
## 120 manufacturing 148.4000000 2024-10-01 NA NA Actual
## 121 manufacturing 147.0000000 2024-11-01 NA NA Actual
## 122 manufacturing 157.2000000 2024-12-01 NA NA Actual
## 123 manufacturing 1.1335168 2025-01-01 81.27371 -79.00668 Forecast
## 124 manufacturing 1.4387151 2025-02-01 95.90854 -93.03111 Forecast
## 125 manufacturing 1.4642155 2025-03-01 116.04951 -113.12108 Forecast
## 126 manufacturing 130.6000000 2025-04-01 NA NA Actual
## 127 manufacturing 130.6000000 2025-04-01 130.76861 -127.47948 Actual
## 128 manufacturing 1.8369186 2025-05-01 144.61057 -140.93673 Forecast
## 129 manufacturing 1.8461067 2025-06-01 157.21804 -153.52583 Forecast
## 130 manufacturing 1.7270084 2025-07-01 169.22345 -165.76944 Forecast
## 131 manufacturing 1.5975113 2025-08-01 180.39904 -177.20402 Forecast
## 132 manufacturing 1.5057047 2025-09-01 190.83005 -187.81864 Forecast
## 133 manufacturing 1.4546013 2025-10-01 200.62618 -197.71698 Forecast
## 134 manufacturing 1.4433513 2025-11-01 209.89362 -207.00692 Forecast
## 135 manufacturing 1.4665896 2025-12-01 218.71672 -215.78354 Forecast
## 136 manufacturing 1.5081060 2026-01-01 227.17587 -224.15966 Forecast
## 137 manufacturing 1.5486515 2026-02-01 235.33592 -232.23862 Forecast
## 138 manufacturing 1.5756401 2026-03-01 243.23989 -240.08861 Forecast
## 139 manufacturing 1.5854144 2026-04-01 250.91307 -247.74224 Forecast
## 140 manufacturing 1.5806606 2026-05-01 258.37084 -255.20952 Forecast
## 141 manufacturing 1.5673202 2026-06-01 265.62450 -262.48986 Forecast
## 142 manufacturing 1.5520256 2026-07-01 272.68416 -269.58011 Forecast
## 143 manufacturing 1.5400088 2026-08-01 279.56041 -276.48039 Forecast
## 144 manufacturing 1.5338970 2026-09-01 286.26500 -283.19720 Forecast
## 145 manufacturing 1.5336866 2026-10-01 292.81050 -289.74313 Forecast
## 146 manufacturing 1.5375831 2026-11-01 299.20936 -296.13419 Forecast
## 147 manufacturing 1.5431217 2026-12-01 305.47288 -302.38664 Forecast
## 148 mining 144.3000000 2023-01-01 NA NA Actual
## 149 mining 139.7000000 2023-02-01 NA NA Actual
## 150 mining 156.2000000 2023-03-01 NA NA Actual
## 151 mining 122.6000000 2023-04-01 NA NA Actual
## 152 mining 128.1000000 2023-05-01 NA NA Actual
## 153 mining 122.3000000 2023-06-01 NA NA Actual
## 154 mining 111.9000000 2023-07-01 NA NA Actual
## 155 mining 111.9000000 2023-08-01 NA NA Actual
## 156 mining 111.5000000 2023-09-01 NA NA Actual
## 157 mining 127.4000000 2023-10-01 NA NA Actual
## 158 mining 131.3000000 2023-11-01 NA NA Actual
## 159 mining 139.5000000 2023-12-01 NA NA Actual
## 160 mining 150.7000000 2024-01-01 NA NA Actual
## 161 mining 141.9000000 2024-02-01 NA NA Actual
## 162 mining 158.1000000 2024-03-01 NA NA Actual
## 163 mining 130.9000000 2024-04-01 NA NA Actual
## 164 mining 136.5000000 2024-05-01 NA NA Actual
## 165 mining 134.9000000 2024-06-01 NA NA Actual
## 166 mining 116.1000000 2024-07-01 NA NA Actual
## 167 mining 107.1000000 2024-08-01 NA NA Actual
## 168 mining 111.7000000 2024-09-01 NA NA Actual
## 169 mining 128.5000000 2024-10-01 NA NA Actual
## 170 mining 133.8000000 2024-11-01 NA NA Actual
## 171 mining 143.2000000 2024-12-01 NA NA Actual
## 172 mining 0.6092385 2025-01-01 73.87455 -72.65607 Forecast
## 173 mining 0.5716553 2025-02-01 87.94737 -86.80406 Forecast
## 174 mining 0.5568408 2025-03-01 105.42790 -104.31422 Forecast
## 175 mining 130.6000000 2025-04-01 NA NA Actual
## 176 mining 130.6000000 2025-04-01 117.87977 -116.25438 Actual
## 177 mining 1.0962234 2025-05-01 129.77800 -127.58555 Forecast
## 178 mining 1.2093305 2025-06-01 140.71851 -138.29985 Forecast
## 179 mining 1.1883445 2025-07-01 151.17783 -148.80114 Forecast
## 180 mining 1.1160433 2025-08-01 160.96985 -158.73776 Forecast
## 181 mining 1.0296910 2025-09-01 170.18044 -168.12106 Forecast
## 182 mining 0.9484000 2025-10-01 178.88120 -176.98440 Forecast
## 183 mining 0.8938773 2025-11-01 187.12950 -185.34175 Forecast
## 184 mining 0.8777085 2025-12-01 194.97310 -193.21768 Forecast
## 185 mining 0.8936039 2026-01-01 202.47480 -200.68759 Forecast
## 186 mining 0.9256938 2026-02-01 209.69532 -207.84393 Forecast
## 187 mining 0.9588082 2026-03-01 216.68031 -214.76270 Forecast
## 188 mining 0.9829132 2026-04-01 223.45928 -221.49345 Forecast
## 189 mining 0.9937258 2026-05-01 230.05061 -228.06316 Forecast
## 190 mining 0.9920797 2026-06-01 236.46656 -234.48240 Forecast
## 191 mining 0.9823120 2026-07-01 242.71633 -240.75171 Forecast
## 192 mining 0.9699298 2026-08-01 248.80824 -246.86838 Forecast
## 193 mining 0.9595114 2026-09-01 254.75090 -252.83188 Forecast
## 194 mining 0.9535840 2026-10-01 260.55374 -258.64657 Forecast
## 195 mining 0.9525216 2026-11-01 266.22654 -264.32150 Forecast
## 196 mining 0.9551199 2026-12-01 271.77886 -269.86862 Forecast
#Fixing the Values which are missing in between the actual data
#Creating a separate column in which the mean forecast values are present
#creating an another column separately in numbering Actual as 1 while Forecasted as 0
final_df <- final_df%>%
filter(!(Type == "Actual"& !is.na(upper_forecast) & !is.na(lower_forecast) & format(Date, "%m")== "04"
& format(Date, "%y") == "25"))
fixing_the_values <- which(
final_df$Type == "Actual" & format(final_df$Date, "%m") == "04" & format(final_df$Date, "%y") == "25"
)
fixed_values <- c(130.6, 149.5, 214.4, 152.0)
final_df$Growth[fixing_the_values] <- fixed_values
print(final_df)
## Sector Growth Date upper_forecast lower_forecast Type
## 1 electricity 197.1000000 2023-01-01 NA NA Actual
## 2 electricity 187.2000000 2023-02-01 NA NA Actual
## 3 electricity 204.2000000 2023-03-01 NA NA Actual
## 4 electricity 192.3000000 2023-04-01 NA NA Actual
## 5 electricity 201.6000000 2023-05-01 NA NA Actual
## 6 electricity 205.2000000 2023-06-01 NA NA Actual
## 7 electricity 204.0000000 2023-07-01 NA NA Actual
## 8 electricity 220.5000000 2023-08-01 NA NA Actual
## 9 electricity 205.9000000 2023-09-01 NA NA Actual
## 10 electricity 203.8000000 2023-10-01 NA NA Actual
## 11 electricity 176.3000000 2023-11-01 NA NA Actual
## 12 electricity 181.6000000 2023-12-01 NA NA Actual
## 13 electricity 201.9000000 2024-01-01 NA NA Actual
## 14 electricity 194.0000000 2024-02-01 NA NA Actual
## 15 electricity 219.5000000 2024-03-01 NA NA Actual
## 16 electricity 212.0000000 2024-04-01 NA NA Actual
## 17 electricity 229.3000000 2024-05-01 NA NA Actual
## 18 electricity 222.8000000 2024-06-01 NA NA Actual
## 19 electricity 220.2000000 2024-07-01 NA NA Actual
## 20 electricity 212.3000000 2024-08-01 NA NA Actual
## 21 electricity 206.9000000 2024-09-01 NA NA Actual
## 22 electricity 207.8000000 2024-10-01 NA NA Actual
## 23 electricity 184.1000000 2024-11-01 NA NA Actual
## 24 electricity 192.8000000 2024-12-01 NA NA Actual
## 25 electricity 1.3633391 2025-01-01 112.39008 -109.66341 Forecast
## 26 electricity 1.8879907 2025-02-01 132.36739 -128.59141 Forecast
## 27 electricity 1.9329494 2025-03-01 160.51986 -156.65396 Forecast
## 28 electricity 130.6000000 2025-04-01 NA NA Actual
## 29 electricity 2.0098018 2025-05-01 201.38825 -197.36864 Forecast
## 30 electricity 1.9055897 2025-06-01 219.27242 -215.46124 Forecast
## 31 electricity 1.7230316 2025-07-01 236.10330 -232.65724 Forecast
## 32 electricity 1.5789354 2025-08-01 251.69072 -248.53285 Forecast
## 33 electricity 1.5143806 2025-09-01 266.18775 -263.15899 Forecast
## 34 electricity 1.5131100 2025-10-01 279.78292 -276.75670 Forecast
## 35 electricity 1.5511098 2025-11-01 292.66171 -289.55949 Forecast
## 36 electricity 1.6075610 2025-12-01 304.96265 -301.74753 Forecast
## 37 electricity 1.6614778 2026-01-01 316.79057 -313.46762 Forecast
## 38 electricity 1.6966793 2026-02-01 328.21984 -324.82648 Forecast
## 39 electricity 1.7077133 2026-03-01 339.29693 -335.88150 Forecast
## 40 electricity 1.6989662 2026-04-01 350.04875 -346.65082 Forecast
## 41 electricity 1.6795171 2026-05-01 360.49230 -357.13327 Forecast
## 42 electricity 1.6585752 2026-06-01 370.64206 -367.32491 Forecast
## 43 electricity 1.6428479 2026-07-01 380.51354 -377.22784 Forecast
## 44 electricity 1.6354418 2026-08-01 390.12451 -386.85362 Forecast
## 45 electricity 1.6360097 2026-09-01 399.49446 -396.22244 Forecast
## 46 electricity 1.6418864 2026-10-01 408.64312 -405.35935 Forecast
## 47 electricity 1.6496274 2026-11-01 417.58873 -414.28947 Forecast
## 48 electricity 1.6563097 2026-12-01 426.34698 -423.03436 Forecast
## 49 general 153.6000000 2023-01-01 NA NA Actual
## 50 general 147.1000000 2023-02-01 NA NA Actual
## 51 general 160.0000000 2023-03-01 NA NA Actual
## 52 general 140.7000000 2023-04-01 NA NA Actual
## 53 general 145.6000000 2023-05-01 NA NA Actual
## 54 general 143.9000000 2023-06-01 NA NA Actual
## 55 general 142.7000000 2023-07-01 NA NA Actual
## 56 general 145.8000000 2023-08-01 NA NA Actual
## 57 general 142.3000000 2023-09-01 NA NA Actual
## 58 general 144.9000000 2023-10-01 NA NA Actual
## 59 general 141.1000000 2023-11-01 NA NA Actual
## 60 general 152.3000000 2023-12-01 NA NA Actual
## 61 general 161.6000000 2024-01-01 NA NA Actual
## 62 general 151.1000000 2024-02-01 NA NA Actual
## 63 general 166.3000000 2024-03-01 NA NA Actual
## 64 general 148.0000000 2024-04-01 NA NA Actual
## 65 general 154.7000000 2024-05-01 NA NA Actual
## 66 general 151.0000000 2024-06-01 NA NA Actual
## 67 general 149.8000000 2024-07-01 NA NA Actual
## 68 general 145.8000000 2024-08-01 NA NA Actual
## 69 general 146.9000000 2024-09-01 NA NA Actual
## 70 general 150.3000000 2024-10-01 NA NA Actual
## 71 general 148.1000000 2024-11-01 NA NA Actual
## 72 general 158.0000000 2024-12-01 NA NA Actual
## 73 general 1.0593936 2025-01-01 82.52285 -80.40407 Forecast
## 74 general 1.3139490 2025-02-01 97.64973 -95.02183 Forecast
## 75 general 1.3187533 2025-03-01 118.19790 -115.56040 Forecast
## 76 general 149.5000000 2025-04-01 NA NA Actual
## 77 general 1.6835981 2025-05-01 147.23263 -143.86543 Forecast
## 78 general 1.7034976 2025-06-01 160.03599 -156.62900 Forecast
## 79 general 1.6003263 2025-07-01 172.20279 -169.00214 Forecast
## 80 general 1.4842832 2025-08-01 183.53237 -180.56381 Forecast
## 81 general 1.3995043 2025-09-01 194.12167 -191.32266 Forecast
## 82 general 1.3492786 2025-10-01 204.08349 -201.38493 Forecast
## 83 general 1.3346522 2025-11-01 213.52057 -210.85127 Forecast
## 84 general 1.3525339 2025-12-01 222.51264 -219.80757 Forecast
## 85 general 1.3888571 2026-01-01 231.13558 -228.35786 Forecast
## 86 general 1.4259058 2026-02-01 239.45173 -236.59992 Forecast
## 87 general 1.4516484 2026-03-01 247.50349 -244.60019 Forecast
## 88 general 1.4620975 2026-04-01 255.31686 -252.39266 Forecast
## 89 general 1.4591233 2026-05-01 262.90860 -259.99035 Forecast
## 90 general 1.4477832 2026-06-01 270.29151 -267.39595 Forecast
## 91 general 1.4340398 2026-07-01 277.47703 -274.60895 Forecast
## 92 general 1.4227985 2026-08-01 284.47662 -281.63103 Forecast
## 93 general 1.4166947 2026-09-01 291.30248 -288.46909 Forecast
## 94 general 1.4159624 2026-10-01 297.96722 -295.13530 Forecast
## 95 general 1.4191309 2026-11-01 304.48314 -301.64487 Forecast
## 96 general 1.4240200 2026-12-01 310.86136 -308.01332 Forecast
## 97 manufacturing 150.8000000 2023-01-01 NA NA Actual
## 98 manufacturing 144.4000000 2023-02-01 NA NA Actual
## 99 manufacturing 156.2000000 2023-03-01 NA NA Actual
## 100 manufacturing 130.6000000 2023-04-01 NA NA Actual
## 101 manufacturing 143.1000000 2023-05-01 NA NA Actual
## 102 manufacturing 141.6000000 2023-06-01 NA NA Actual
## 103 manufacturing 142.1000000 2023-07-01 NA NA Actual
## 104 manufacturing 144.4000000 2023-08-01 NA NA Actual
## 105 manufacturing 141.5000000 2023-09-01 NA NA Actual
## 106 manufacturing 142.1000000 2023-10-01 NA NA Actual
## 107 manufacturing 139.3000000 2023-11-01 NA NA Actual
## 108 manufacturing 151.6000000 2023-12-01 NA NA Actual
## 109 manufacturing 159.5000000 2024-01-01 NA NA Actual
## 110 manufacturing 148.4000000 2024-02-01 NA NA Actual
## 111 manufacturing 162.4000000 2024-03-01 NA NA Actual
## 112 manufacturing 144.6000000 2024-04-01 NA NA Actual
## 113 manufacturing 150.4000000 2024-05-01 NA NA Actual
## 114 manufacturing 146.6000000 2024-06-01 NA NA Actual
## 115 manufacturing 148.8000000 2024-07-01 NA NA Actual
## 116 manufacturing 146.1000000 2024-08-01 NA NA Actual
## 117 manufacturing 147.2000000 2024-09-01 NA NA Actual
## 118 manufacturing 148.4000000 2024-10-01 NA NA Actual
## 119 manufacturing 147.0000000 2024-11-01 NA NA Actual
## 120 manufacturing 157.2000000 2024-12-01 NA NA Actual
## 121 manufacturing 1.1335168 2025-01-01 81.27371 -79.00668 Forecast
## 122 manufacturing 1.4387151 2025-02-01 95.90854 -93.03111 Forecast
## 123 manufacturing 1.4642155 2025-03-01 116.04951 -113.12108 Forecast
## 124 manufacturing 214.4000000 2025-04-01 NA NA Actual
## 125 manufacturing 1.8369186 2025-05-01 144.61057 -140.93673 Forecast
## 126 manufacturing 1.8461067 2025-06-01 157.21804 -153.52583 Forecast
## 127 manufacturing 1.7270084 2025-07-01 169.22345 -165.76944 Forecast
## 128 manufacturing 1.5975113 2025-08-01 180.39904 -177.20402 Forecast
## 129 manufacturing 1.5057047 2025-09-01 190.83005 -187.81864 Forecast
## 130 manufacturing 1.4546013 2025-10-01 200.62618 -197.71698 Forecast
## 131 manufacturing 1.4433513 2025-11-01 209.89362 -207.00692 Forecast
## 132 manufacturing 1.4665896 2025-12-01 218.71672 -215.78354 Forecast
## 133 manufacturing 1.5081060 2026-01-01 227.17587 -224.15966 Forecast
## 134 manufacturing 1.5486515 2026-02-01 235.33592 -232.23862 Forecast
## 135 manufacturing 1.5756401 2026-03-01 243.23989 -240.08861 Forecast
## 136 manufacturing 1.5854144 2026-04-01 250.91307 -247.74224 Forecast
## 137 manufacturing 1.5806606 2026-05-01 258.37084 -255.20952 Forecast
## 138 manufacturing 1.5673202 2026-06-01 265.62450 -262.48986 Forecast
## 139 manufacturing 1.5520256 2026-07-01 272.68416 -269.58011 Forecast
## 140 manufacturing 1.5400088 2026-08-01 279.56041 -276.48039 Forecast
## 141 manufacturing 1.5338970 2026-09-01 286.26500 -283.19720 Forecast
## 142 manufacturing 1.5336866 2026-10-01 292.81050 -289.74313 Forecast
## 143 manufacturing 1.5375831 2026-11-01 299.20936 -296.13419 Forecast
## 144 manufacturing 1.5431217 2026-12-01 305.47288 -302.38664 Forecast
## 145 mining 144.3000000 2023-01-01 NA NA Actual
## 146 mining 139.7000000 2023-02-01 NA NA Actual
## 147 mining 156.2000000 2023-03-01 NA NA Actual
## 148 mining 122.6000000 2023-04-01 NA NA Actual
## 149 mining 128.1000000 2023-05-01 NA NA Actual
## 150 mining 122.3000000 2023-06-01 NA NA Actual
## 151 mining 111.9000000 2023-07-01 NA NA Actual
## 152 mining 111.9000000 2023-08-01 NA NA Actual
## 153 mining 111.5000000 2023-09-01 NA NA Actual
## 154 mining 127.4000000 2023-10-01 NA NA Actual
## 155 mining 131.3000000 2023-11-01 NA NA Actual
## 156 mining 139.5000000 2023-12-01 NA NA Actual
## 157 mining 150.7000000 2024-01-01 NA NA Actual
## 158 mining 141.9000000 2024-02-01 NA NA Actual
## 159 mining 158.1000000 2024-03-01 NA NA Actual
## 160 mining 130.9000000 2024-04-01 NA NA Actual
## 161 mining 136.5000000 2024-05-01 NA NA Actual
## 162 mining 134.9000000 2024-06-01 NA NA Actual
## 163 mining 116.1000000 2024-07-01 NA NA Actual
## 164 mining 107.1000000 2024-08-01 NA NA Actual
## 165 mining 111.7000000 2024-09-01 NA NA Actual
## 166 mining 128.5000000 2024-10-01 NA NA Actual
## 167 mining 133.8000000 2024-11-01 NA NA Actual
## 168 mining 143.2000000 2024-12-01 NA NA Actual
## 169 mining 0.6092385 2025-01-01 73.87455 -72.65607 Forecast
## 170 mining 0.5716553 2025-02-01 87.94737 -86.80406 Forecast
## 171 mining 0.5568408 2025-03-01 105.42790 -104.31422 Forecast
## 172 mining 152.0000000 2025-04-01 NA NA Actual
## 173 mining 1.0962234 2025-05-01 129.77800 -127.58555 Forecast
## 174 mining 1.2093305 2025-06-01 140.71851 -138.29985 Forecast
## 175 mining 1.1883445 2025-07-01 151.17783 -148.80114 Forecast
## 176 mining 1.1160433 2025-08-01 160.96985 -158.73776 Forecast
## 177 mining 1.0296910 2025-09-01 170.18044 -168.12106 Forecast
## 178 mining 0.9484000 2025-10-01 178.88120 -176.98440 Forecast
## 179 mining 0.8938773 2025-11-01 187.12950 -185.34175 Forecast
## 180 mining 0.8777085 2025-12-01 194.97310 -193.21768 Forecast
## 181 mining 0.8936039 2026-01-01 202.47480 -200.68759 Forecast
## 182 mining 0.9256938 2026-02-01 209.69532 -207.84393 Forecast
## 183 mining 0.9588082 2026-03-01 216.68031 -214.76270 Forecast
## 184 mining 0.9829132 2026-04-01 223.45928 -221.49345 Forecast
## 185 mining 0.9937258 2026-05-01 230.05061 -228.06316 Forecast
## 186 mining 0.9920797 2026-06-01 236.46656 -234.48240 Forecast
## 187 mining 0.9823120 2026-07-01 242.71633 -240.75171 Forecast
## 188 mining 0.9699298 2026-08-01 248.80824 -246.86838 Forecast
## 189 mining 0.9595114 2026-09-01 254.75090 -252.83188 Forecast
## 190 mining 0.9535840 2026-10-01 260.55374 -258.64657 Forecast
## 191 mining 0.9525216 2026-11-01 266.22654 -264.32150 Forecast
## 192 mining 0.9551199 2026-12-01 271.77886 -269.86862 Forecast
last_actual_minati <- final_df %>%
filter(Type == "Actual")%>%
group_by(Sector)%>%
filter(Date == max(Date))%>%
dplyr::select(Sector,Date, Growth)%>%
rename(last_actual_values = Growth)
last_actual_minati
## # A tibble: 4 × 3
## # Groups: Sector [4]
## Sector Date last_actual_values
## <chr> <date> <dbl>
## 1 electricity 2025-04-01 131.
## 2 general 2025-04-01 150.
## 3 manufacturing 2025-04-01 214.
## 4 mining 2025-04-01 152
final_df_remasterd <- final_df%>%
arrange(Sector, Date)
final_df_remasterd <- final_df_remasterd%>%
mutate(actual_flag = ifelse(Type == "Actual", 1, 0))
final_df_remasterd <- final_df_remasterd%>%
group_by(Sector)%>%
mutate(forecast_block = cumsum(actual_flag))
final_df_remasterd <- final_df_remasterd%>%
group_by(Sector, forecast_block)%>%
mutate(last_actual = ifelse(Type == "Actual", Growth, NA))%>%
fill(last_actual, .direction = "down")
final_df_remasterd <- final_df_remasterd%>%
mutate(mean_forecast = (upper_forecast+lower_forecast)/2)%>%
mutate(forecast_numbers = last_actual+ mean_forecast)
print(final_df_remasterd)
## # A tibble: 192 × 11
## # Groups: Sector, forecast_block [100]
## Sector Growth Date upper_forecast lower_forecast Type actual_flag
## <chr> <dbl> <date> <dbl> <dbl> <chr> <dbl>
## 1 electricity 197. 2023-01-01 NA NA Actu… 1
## 2 electricity 187. 2023-02-01 NA NA Actu… 1
## 3 electricity 204. 2023-03-01 NA NA Actu… 1
## 4 electricity 192. 2023-04-01 NA NA Actu… 1
## 5 electricity 202. 2023-05-01 NA NA Actu… 1
## 6 electricity 205. 2023-06-01 NA NA Actu… 1
## 7 electricity 204 2023-07-01 NA NA Actu… 1
## 8 electricity 220. 2023-08-01 NA NA Actu… 1
## 9 electricity 206. 2023-09-01 NA NA Actu… 1
## 10 electricity 204. 2023-10-01 NA NA Actu… 1
## # ℹ 182 more rows
## # ℹ 4 more variables: forecast_block <dbl>, last_actual <dbl>,
## # mean_forecast <dbl>, forecast_numbers <dbl>
View(final_df_remasterd)
#Fixing the Values for those Forecasted Growth rows where the values are in percentage format
#And then creating the index_of_industrial_productions data frame
final_df_remasterd <- final_df_remasterd %>%
group_by(Sector, forecast_block) %>%
mutate(
Growth = {
updated_Growth <- numeric(n())
for(k in seq_len(n())) {
if(Type[k] == "Actual") {
updated_Growth[k] <- Growth[k]
} else {
if(k == 1) {
updated_Growth[k] <- last_actual[k] * (1 + mean_forecast[k]/100)
} else {
updated_Growth[k] <- updated_Growth[k-1] * (1 + mean_forecast[k]/100)
}
}
}
updated_Growth
}
) %>%
ungroup()
IIP <- final_df_remasterd%>%
dplyr::select(`Sector`, `Growth`, `Date`, `Type`)
IIP <- IIP%>%
arrange(Sector, Date)
index_of_industrial_productions <- as.data.frame(IIP, stringsAsFactors = FALSE)
write.csv(index_of_industrial_productions, "E://Aadikartikey//index_of_industrial_productions.csv", row.names = FALSE)
index_of_industrial_productions
## Sector Growth Date Type
## 1 electricity 197.1000 2023-01-01 Actual
## 2 electricity 187.2000 2023-02-01 Actual
## 3 electricity 204.2000 2023-03-01 Actual
## 4 electricity 192.3000 2023-04-01 Actual
## 5 electricity 201.6000 2023-05-01 Actual
## 6 electricity 205.2000 2023-06-01 Actual
## 7 electricity 204.0000 2023-07-01 Actual
## 8 electricity 220.5000 2023-08-01 Actual
## 9 electricity 205.9000 2023-09-01 Actual
## 10 electricity 203.8000 2023-10-01 Actual
## 11 electricity 176.3000 2023-11-01 Actual
## 12 electricity 181.6000 2023-12-01 Actual
## 13 electricity 201.9000 2024-01-01 Actual
## 14 electricity 194.0000 2024-02-01 Actual
## 15 electricity 219.5000 2024-03-01 Actual
## 16 electricity 212.0000 2024-04-01 Actual
## 17 electricity 229.3000 2024-05-01 Actual
## 18 electricity 222.8000 2024-06-01 Actual
## 19 electricity 220.2000 2024-07-01 Actual
## 20 electricity 212.3000 2024-08-01 Actual
## 21 electricity 206.9000 2024-09-01 Actual
## 22 electricity 207.8000 2024-10-01 Actual
## 23 electricity 184.1000 2024-11-01 Actual
## 24 electricity 192.8000 2024-12-01 Actual
## 25 electricity 195.4285 2025-01-01 Forecast
## 26 electricity 199.1182 2025-02-01 Forecast
## 27 electricity 202.9670 2025-03-01 Forecast
## 28 electricity 130.6000 2025-04-01 Actual
## 29 electricity 133.2248 2025-05-01 Forecast
## 30 electricity 135.7635 2025-06-01 Forecast
## 31 electricity 138.1028 2025-07-01 Forecast
## 32 electricity 140.2833 2025-08-01 Forecast
## 33 electricity 142.4077 2025-09-01 Forecast
## 34 electricity 144.5625 2025-10-01 Forecast
## 35 electricity 146.8049 2025-11-01 Forecast
## 36 electricity 149.1648 2025-12-01 Forecast
## 37 electricity 151.6432 2026-01-01 Forecast
## 38 electricity 154.2161 2026-02-01 Forecast
## 39 electricity 156.8496 2026-03-01 Forecast
## 40 electricity 159.5145 2026-04-01 Forecast
## 41 electricity 162.1935 2026-05-01 Forecast
## 42 electricity 164.8836 2026-06-01 Forecast
## 43 electricity 167.5924 2026-07-01 Forecast
## 44 electricity 170.3333 2026-08-01 Forecast
## 45 electricity 173.1200 2026-09-01 Forecast
## 46 electricity 175.9624 2026-10-01 Forecast
## 47 electricity 178.8651 2026-11-01 Forecast
## 48 electricity 181.8277 2026-12-01 Forecast
## 49 general 153.6000 2023-01-01 Actual
## 50 general 147.1000 2023-02-01 Actual
## 51 general 160.0000 2023-03-01 Actual
## 52 general 140.7000 2023-04-01 Actual
## 53 general 145.6000 2023-05-01 Actual
## 54 general 143.9000 2023-06-01 Actual
## 55 general 142.7000 2023-07-01 Actual
## 56 general 145.8000 2023-08-01 Actual
## 57 general 142.3000 2023-09-01 Actual
## 58 general 144.9000 2023-10-01 Actual
## 59 general 141.1000 2023-11-01 Actual
## 60 general 152.3000 2023-12-01 Actual
## 61 general 161.6000 2024-01-01 Actual
## 62 general 151.1000 2024-02-01 Actual
## 63 general 166.3000 2024-03-01 Actual
## 64 general 148.0000 2024-04-01 Actual
## 65 general 154.7000 2024-05-01 Actual
## 66 general 151.0000 2024-06-01 Actual
## 67 general 149.8000 2024-07-01 Actual
## 68 general 145.8000 2024-08-01 Actual
## 69 general 146.9000 2024-09-01 Actual
## 70 general 150.3000 2024-10-01 Actual
## 71 general 148.1000 2024-11-01 Actual
## 72 general 158.0000 2024-12-01 Actual
## 73 general 159.6738 2025-01-01 Forecast
## 74 general 161.7719 2025-02-01 Forecast
## 75 general 163.9052 2025-03-01 Forecast
## 76 general 149.5000 2025-04-01 Actual
## 77 general 152.0170 2025-05-01 Forecast
## 78 general 154.6066 2025-06-01 Forecast
## 79 general 157.0808 2025-07-01 Forecast
## 80 general 159.4123 2025-08-01 Forecast
## 81 general 161.6433 2025-09-01 Forecast
## 82 general 163.8243 2025-10-01 Forecast
## 83 general 166.0108 2025-11-01 Forecast
## 84 general 168.2562 2025-12-01 Forecast
## 85 general 170.5930 2026-01-01 Forecast
## 86 general 173.0255 2026-02-01 Forecast
## 87 general 175.5372 2026-03-01 Forecast
## 88 general 178.1037 2026-04-01 Forecast
## 89 general 180.7025 2026-05-01 Forecast
## 90 general 183.3187 2026-06-01 Forecast
## 91 general 185.9475 2026-07-01 Forecast
## 92 general 188.5932 2026-08-01 Forecast
## 93 general 191.2650 2026-09-01 Forecast
## 94 general 193.9732 2026-10-01 Forecast
## 95 general 196.7260 2026-11-01 Forecast
## 96 general 199.5274 2026-12-01 Forecast
## 97 manufacturing 150.8000 2023-01-01 Actual
## 98 manufacturing 144.4000 2023-02-01 Actual
## 99 manufacturing 156.2000 2023-03-01 Actual
## 100 manufacturing 130.6000 2023-04-01 Actual
## 101 manufacturing 143.1000 2023-05-01 Actual
## 102 manufacturing 141.6000 2023-06-01 Actual
## 103 manufacturing 142.1000 2023-07-01 Actual
## 104 manufacturing 144.4000 2023-08-01 Actual
## 105 manufacturing 141.5000 2023-09-01 Actual
## 106 manufacturing 142.1000 2023-10-01 Actual
## 107 manufacturing 139.3000 2023-11-01 Actual
## 108 manufacturing 151.6000 2023-12-01 Actual
## 109 manufacturing 159.5000 2024-01-01 Actual
## 110 manufacturing 148.4000 2024-02-01 Actual
## 111 manufacturing 162.4000 2024-03-01 Actual
## 112 manufacturing 144.6000 2024-04-01 Actual
## 113 manufacturing 150.4000 2024-05-01 Actual
## 114 manufacturing 146.6000 2024-06-01 Actual
## 115 manufacturing 148.8000 2024-07-01 Actual
## 116 manufacturing 146.1000 2024-08-01 Actual
## 117 manufacturing 147.2000 2024-09-01 Actual
## 118 manufacturing 148.4000 2024-10-01 Actual
## 119 manufacturing 147.0000 2024-11-01 Actual
## 120 manufacturing 157.2000 2024-12-01 Actual
## 121 manufacturing 158.9819 2025-01-01 Forecast
## 122 manufacturing 161.2692 2025-02-01 Forecast
## 123 manufacturing 163.6305 2025-03-01 Forecast
## 124 manufacturing 214.4000 2025-04-01 Actual
## 125 manufacturing 218.3384 2025-05-01 Forecast
## 126 manufacturing 222.3691 2025-06-01 Forecast
## 127 manufacturing 226.2094 2025-07-01 Forecast
## 128 manufacturing 229.8232 2025-08-01 Forecast
## 129 manufacturing 233.2836 2025-09-01 Forecast
## 130 manufacturing 236.6770 2025-10-01 Forecast
## 131 manufacturing 240.0931 2025-11-01 Forecast
## 132 manufacturing 243.6142 2025-12-01 Forecast
## 133 manufacturing 247.2882 2026-01-01 Forecast
## 134 manufacturing 251.1178 2026-02-01 Forecast
## 135 manufacturing 255.0745 2026-03-01 Forecast
## 136 manufacturing 259.1185 2026-04-01 Forecast
## 137 manufacturing 263.2143 2026-05-01 Forecast
## 138 manufacturing 267.3397 2026-06-01 Forecast
## 139 manufacturing 271.4889 2026-07-01 Forecast
## 140 manufacturing 275.6699 2026-08-01 Forecast
## 141 manufacturing 279.8983 2026-09-01 Forecast
## 142 manufacturing 284.1911 2026-10-01 Forecast
## 143 manufacturing 288.5608 2026-11-01 Forecast
## 144 manufacturing 293.0136 2026-12-01 Forecast
## 145 mining 144.3000 2023-01-01 Actual
## 146 mining 139.7000 2023-02-01 Actual
## 147 mining 156.2000 2023-03-01 Actual
## 148 mining 122.6000 2023-04-01 Actual
## 149 mining 128.1000 2023-05-01 Actual
## 150 mining 122.3000 2023-06-01 Actual
## 151 mining 111.9000 2023-07-01 Actual
## 152 mining 111.9000 2023-08-01 Actual
## 153 mining 111.5000 2023-09-01 Actual
## 154 mining 127.4000 2023-10-01 Actual
## 155 mining 131.3000 2023-11-01 Actual
## 156 mining 139.5000 2023-12-01 Actual
## 157 mining 150.7000 2024-01-01 Actual
## 158 mining 141.9000 2024-02-01 Actual
## 159 mining 158.1000 2024-03-01 Actual
## 160 mining 130.9000 2024-04-01 Actual
## 161 mining 136.5000 2024-05-01 Actual
## 162 mining 134.9000 2024-06-01 Actual
## 163 mining 116.1000 2024-07-01 Actual
## 164 mining 107.1000 2024-08-01 Actual
## 165 mining 111.7000 2024-09-01 Actual
## 166 mining 128.5000 2024-10-01 Actual
## 167 mining 133.8000 2024-11-01 Actual
## 168 mining 143.2000 2024-12-01 Actual
## 169 mining 144.0724 2025-01-01 Forecast
## 170 mining 144.8960 2025-02-01 Forecast
## 171 mining 145.7029 2025-03-01 Forecast
## 172 mining 152.0000 2025-04-01 Actual
## 173 mining 153.6663 2025-05-01 Forecast
## 174 mining 155.5246 2025-06-01 Forecast
## 175 mining 157.3728 2025-07-01 Forecast
## 176 mining 159.1291 2025-08-01 Forecast
## 177 mining 160.7676 2025-09-01 Forecast
## 178 mining 162.2924 2025-10-01 Forecast
## 179 mining 163.7431 2025-11-01 Forecast
## 180 mining 165.1802 2025-12-01 Forecast
## 181 mining 166.6563 2026-01-01 Forecast
## 182 mining 168.1990 2026-02-01 Forecast
## 183 mining 169.8117 2026-03-01 Forecast
## 184 mining 171.4808 2026-04-01 Forecast
## 185 mining 173.1849 2026-05-01 Forecast
## 186 mining 174.9030 2026-06-01 Forecast
## 187 mining 176.6211 2026-07-01 Forecast
## 188 mining 178.3342 2026-08-01 Forecast
## 189 mining 180.0454 2026-09-01 Forecast
## 190 mining 181.7622 2026-10-01 Forecast
## 191 mining 183.4936 2026-11-01 Forecast
## 192 mining 185.2461 2026-12-01 Forecast
#First Doing a Loess Smoothing to apply it on the each Sectoral Data present in the index_of_industrial_productions
#Then Doing a Clean Visualization for the Story telling of the Overall Result findings up til now
electricity_data <- index_of_industrial_productions%>% filter(Sector == "electricity")
general_data <- index_of_industrial_productions%>% filter(Sector == "general")
minig_data <- index_of_industrial_productions%>% filter(Sector == "mining")
manufacturing_data <- index_of_industrial_productions%>% filter(Sector == "manufacturing")
Loess_Smooth <- function(x,y){
model <- loess(y~x, span= .65)
predict(model)
}
index_of_industrial_productions <- index_of_industrial_productions%>%
group_by(Sector)%>%
arrange(Date)%>%
mutate(Growth_Smooth = Loess_Smooth(as.numeric(Date), Growth))%>%
ungroup()
index_of_industrial_productions <- index_of_industrial_productions%>%
arrange(Sector, Date)
plot_ly(
data = index_of_industrial_productions,
x = ~Date,
y = ~Growth_Smooth,
color = ~Sector,
linetype = ~Type,
type = 'scatter',
mode = 'lines+markers',
line = list(width = 4),
marker = list(size = 6),
text = ~paste("Sector:",Sector,"<br>Date:", Date, "<br>Growth:", round(Growth, 2),"<br>Growth_Smooth:",round(Growth_Smooth,2), "<br>Type:", Type),
hoverinfo = "text"
) %>%
layout(
title = list(
text = "<b>INDEX OF INDUSTRIAL PRODUCTION<br>ACROSS THE SECTORS IN INDIA</b><br><sup>Sources: Government of India Ministry of Statistics and Programme Implementation<br>National Statistics Office | Base Year:2011-12 = 100</sup>",
font = list(size = 20), xanchor = "left", x = 0.01, y= 0.969
),margin = list(t= 120, b= 80),
annotations = list(
list(
x = 0,
y= -0.19,
xref = "paper",
yref = "paper",
showarrow = FALSE,
text = "Made by: Aditya Kartikey",
font = list(size =13, color = "black"),
xanchor = "left",
yanchor = "bottom"
)
),
xaxis = list(title = "", tickangle = -60, tickfont = list(size = 13), showgrid = FALSE),
yaxis = list(title = "SECTORS IN THE IIP AND IT'S GROWTH IN INDIA", tickfont = list(size = 13), showgrid = FALSE)
)