Linear regression with damped trend and seasonal adjust is an approach for forecasting time series data with a trend. It uses a smoothing parameter to avoid over-forecasting and can also handle seasonality by adjusting the forecasted values. The algorithm decomposes the time series using a multiplicative model and provides two methods for obtaining seasonal indexes. It then fits a linear regression to the de-seasoned data and uses it to make forecasts. The forecasts can be made for both past and future time periods.
------

SET SCHEMA DM_PAL;


DROP TABLE #PAL_PARAMETER_TBL;
CREATE LOCAL TEMPORARY COLUMN TABLE #PAL_PARAMETER_TBL (
	"PARAM_NAME " VARCHAR(100),
	"INT_VALUE" INTEGER, 
	"DOUBLE_VALUE" DOUBLE, 
	"STRING_VALUE" VARCHAR (100)
);

INSERT INTO #PAL_PARAMETER_TBL VALUES ('FORECAST_LENGTH', 10,null,null);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('TREND', null,0.9,null);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('AFFECT_FUTURE_ONLY', 1,null,null);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('SEASONALITY', 1,null,null);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('PERIODS', 4,null,null);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('MEASURE_NAME', null, null, 'MSE');

DROP TABLE PAL_FORECASTSLR_DATA_TBL;
CREATE COLUMN TABLE PAL_FORECASTSLR_DATA_TBL 
(
    "TIMESTAMP" INTEGER,
    "Y" DOUBLE
);

INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(1, 5384);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(2, 8081);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(3, 10282);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(4, 9156);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(5, 6118);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(6, 9139);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(7, 12460);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(8, 10717);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(9, 7825);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(10, 9693);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(11, 15177);
INSERT INTO PAL_FORECASTSLR_DATA_TBL VALUES(12, 10990);

CALL _SYS_AFL.PAL_LR_SEASONAL_ADJUST(PAL_FORECASTSLR_DATA_TBL, #PAL_PARAMETER_TBL, ?,?);

