@sipemu/anofox-forecast 0.4.5 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/anofox_forecast_js.d.ts +289 -3
- package/anofox_forecast_js.js +614 -3
- package/anofox_forecast_js_bg.wasm +0 -0
- package/anofox_forecast_js_bg.wasm.d.ts +46 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @sipemu/anofox-forecast
|
|
2
2
|
|
|
3
|
-
WebAssembly bindings for [anofox-forecast](https://crates.io/crates/anofox-forecast), a comprehensive time series forecasting library with
|
|
3
|
+
WebAssembly bindings for [anofox-forecast](https://crates.io/crates/anofox-forecast), a comprehensive time series forecasting library with 50+ models, automatic model selection, probabilistic postprocessing, and more.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -281,8 +281,7 @@ const forecast = model.predict(10);
|
|
|
281
281
|
## Limitations
|
|
282
282
|
|
|
283
283
|
- The `parallel` feature from the Rust crate is not available in WASM
|
|
284
|
-
-
|
|
285
|
-
- Cross-validation utilities are not yet exposed
|
|
284
|
+
- IDR (Isotonic Distributional Regression) and QRA are not yet exposed in WASM
|
|
286
285
|
|
|
287
286
|
## License
|
|
288
287
|
|
package/anofox_forecast_js.d.ts
CHANGED
|
@@ -123,6 +123,51 @@ export class AutoEnsembleForecaster {
|
|
|
123
123
|
readonly name: string;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
export class AutoForecastBuilder {
|
|
127
|
+
free(): void;
|
|
128
|
+
[Symbol.dispose](): void;
|
|
129
|
+
/**
|
|
130
|
+
* Include or exclude AutoETS from the candidate set.
|
|
131
|
+
*
|
|
132
|
+
* @param include - Whether to include AutoETS (default: true)
|
|
133
|
+
*/
|
|
134
|
+
includeEts(include: boolean): AutoForecastBuilder;
|
|
135
|
+
/**
|
|
136
|
+
* Include or exclude AutoARIMA from the candidate set.
|
|
137
|
+
*
|
|
138
|
+
* @param include - Whether to include AutoARIMA (default: true)
|
|
139
|
+
*/
|
|
140
|
+
includeArima(include: boolean): AutoForecastBuilder;
|
|
141
|
+
/**
|
|
142
|
+
* Include or exclude AutoTheta from the candidate set.
|
|
143
|
+
*
|
|
144
|
+
* @param include - Whether to include AutoTheta (default: true)
|
|
145
|
+
*/
|
|
146
|
+
includeTheta(include: boolean): AutoForecastBuilder;
|
|
147
|
+
/**
|
|
148
|
+
* Set the seasonal period.
|
|
149
|
+
*
|
|
150
|
+
* @param period - Seasonal period (e.g., 12 for monthly data)
|
|
151
|
+
*/
|
|
152
|
+
seasonalPeriod(period: number): AutoForecastBuilder;
|
|
153
|
+
/**
|
|
154
|
+
* Use cross-validation instead of in-sample MSE for model selection.
|
|
155
|
+
*
|
|
156
|
+
* @param useCv - Whether to use cross-validation (default: false)
|
|
157
|
+
*/
|
|
158
|
+
useCrossValidation(use_cv: boolean): AutoForecastBuilder;
|
|
159
|
+
/**
|
|
160
|
+
* Create a new builder with all defaults enabled.
|
|
161
|
+
*/
|
|
162
|
+
constructor();
|
|
163
|
+
/**
|
|
164
|
+
* Build the AutoForecaster with the configured parameters.
|
|
165
|
+
*
|
|
166
|
+
* @returns A new AutoForecaster ready to fit
|
|
167
|
+
*/
|
|
168
|
+
build(): AutoForecaster;
|
|
169
|
+
}
|
|
170
|
+
|
|
126
171
|
export class AutoForecaster {
|
|
127
172
|
free(): void;
|
|
128
173
|
[Symbol.dispose](): void;
|
|
@@ -390,6 +435,15 @@ export class EnsembleForecaster {
|
|
|
390
435
|
* Set the combination method to median.
|
|
391
436
|
*/
|
|
392
437
|
setMedian(): void;
|
|
438
|
+
/**
|
|
439
|
+
* Set the combination method by name string.
|
|
440
|
+
*
|
|
441
|
+
* Supported values: "mean", "median", "weighted_mse", "inverse_aic",
|
|
442
|
+
* "stacking", "horizon_adaptive".
|
|
443
|
+
*
|
|
444
|
+
* @param method - Combination method name
|
|
445
|
+
*/
|
|
446
|
+
setMethod(method: string): void;
|
|
393
447
|
/**
|
|
394
448
|
* Get the number of models in the ensemble.
|
|
395
449
|
*/
|
|
@@ -402,10 +456,31 @@ export class EnsembleForecaster {
|
|
|
402
456
|
* @param weights - Array of combination weights
|
|
403
457
|
*/
|
|
404
458
|
setWeights(weights: Float64Array): void;
|
|
459
|
+
/**
|
|
460
|
+
* Set the combination method to stacking (projected gradient descent).
|
|
461
|
+
*
|
|
462
|
+
* Trains non-negative weights that sum to one on validation data.
|
|
463
|
+
*
|
|
464
|
+
* @param folds - Number of folds (default: 5)
|
|
465
|
+
*/
|
|
466
|
+
setStacking(folds?: number | null): void;
|
|
467
|
+
/**
|
|
468
|
+
* Set the combination method to inverse AIC weighting.
|
|
469
|
+
*
|
|
470
|
+
* Computes Akaike weights from in-sample residuals.
|
|
471
|
+
*/
|
|
472
|
+
setInverseAic(): void;
|
|
405
473
|
/**
|
|
406
474
|
* Set the combination method to weighted MSE.
|
|
407
475
|
*/
|
|
408
476
|
setWeightedMse(): void;
|
|
477
|
+
/**
|
|
478
|
+
* Set the combination method to per-horizon adaptive weighting.
|
|
479
|
+
*
|
|
480
|
+
* Computes separate weight vectors for each forecast horizon step
|
|
481
|
+
* based on rolling-origin evaluation.
|
|
482
|
+
*/
|
|
483
|
+
setHorizonAdaptive(): void;
|
|
409
484
|
/**
|
|
410
485
|
* Predict with prediction intervals.
|
|
411
486
|
*
|
|
@@ -446,6 +521,22 @@ export class Forecast {
|
|
|
446
521
|
private constructor();
|
|
447
522
|
free(): void;
|
|
448
523
|
[Symbol.dispose](): void;
|
|
524
|
+
/**
|
|
525
|
+
* Return a new forecast with all values clamped to be non-negative.
|
|
526
|
+
*/
|
|
527
|
+
nonNegative(): Forecast;
|
|
528
|
+
/**
|
|
529
|
+
* Return a new forecast with point values rounded to the nearest integer,
|
|
530
|
+
* lower intervals floored, and upper intervals ceiled.
|
|
531
|
+
*/
|
|
532
|
+
roundToInteger(): Forecast;
|
|
533
|
+
/**
|
|
534
|
+
* Return a new forecast with all values clamped to `[lower, upper]`.
|
|
535
|
+
*
|
|
536
|
+
* @param lower - Lower bound
|
|
537
|
+
* @param upper - Upper bound
|
|
538
|
+
*/
|
|
539
|
+
clamp(lower: number, upper: number): Forecast;
|
|
449
540
|
/**
|
|
450
541
|
* Check if lower prediction interval is available.
|
|
451
542
|
*/
|
|
@@ -692,6 +783,63 @@ export class JsHistoricalSimulator {
|
|
|
692
783
|
simulate(forecasts: Float64Array, actuals: Float64Array): JsHistoricalSimResult;
|
|
693
784
|
}
|
|
694
785
|
|
|
786
|
+
export class JsModelDiagnostics {
|
|
787
|
+
private constructor();
|
|
788
|
+
free(): void;
|
|
789
|
+
[Symbol.dispose](): void;
|
|
790
|
+
/**
|
|
791
|
+
* Create diagnostics from an array of residuals.
|
|
792
|
+
*
|
|
793
|
+
* @param residuals - Array of model residuals
|
|
794
|
+
* @param significance - Significance level for tests (e.g., 0.05)
|
|
795
|
+
*/
|
|
796
|
+
static fromResiduals(residuals: Float64Array, significance: number): JsModelDiagnostics;
|
|
797
|
+
/**
|
|
798
|
+
* Get a human-readable summary of the diagnostics.
|
|
799
|
+
*/
|
|
800
|
+
summary(): string;
|
|
801
|
+
/**
|
|
802
|
+
* Whether all diagnostic tests pass at the configured significance level.
|
|
803
|
+
*/
|
|
804
|
+
readonly passesAll: boolean;
|
|
805
|
+
/**
|
|
806
|
+
* Autocorrelation function of the residuals.
|
|
807
|
+
*/
|
|
808
|
+
readonly residualAcf: Float64Array;
|
|
809
|
+
/**
|
|
810
|
+
* Standard deviation of the residuals.
|
|
811
|
+
*/
|
|
812
|
+
readonly residualStd: number;
|
|
813
|
+
/**
|
|
814
|
+
* Mean of the residuals.
|
|
815
|
+
*/
|
|
816
|
+
readonly residualMean: number;
|
|
817
|
+
/**
|
|
818
|
+
* Partial autocorrelation function of the residuals.
|
|
819
|
+
*/
|
|
820
|
+
readonly residualPacf: Float64Array;
|
|
821
|
+
/**
|
|
822
|
+
* Number of lags used in the Ljung-Box test.
|
|
823
|
+
*/
|
|
824
|
+
readonly ljungBoxLags: number;
|
|
825
|
+
/**
|
|
826
|
+
* Ljung-Box test p-value for autocorrelation.
|
|
827
|
+
*/
|
|
828
|
+
readonly ljungBoxPvalue: number;
|
|
829
|
+
/**
|
|
830
|
+
* Jarque-Bera test p-value.
|
|
831
|
+
*/
|
|
832
|
+
readonly jarqueBeraPvalue: number;
|
|
833
|
+
/**
|
|
834
|
+
* Jarque-Bera test statistic for normality.
|
|
835
|
+
*/
|
|
836
|
+
readonly jarqueBeraStatistic: number;
|
|
837
|
+
/**
|
|
838
|
+
* Breusch-Pagan heteroscedasticity test p-value.
|
|
839
|
+
*/
|
|
840
|
+
readonly heteroscedasticityPvalue: number;
|
|
841
|
+
}
|
|
842
|
+
|
|
695
843
|
export class JsNormalPredictor {
|
|
696
844
|
free(): void;
|
|
697
845
|
[Symbol.dispose](): void;
|
|
@@ -832,6 +980,59 @@ export class JsTrainedModel {
|
|
|
832
980
|
[Symbol.dispose](): void;
|
|
833
981
|
}
|
|
834
982
|
|
|
983
|
+
export class KalmanForecaster {
|
|
984
|
+
private constructor();
|
|
985
|
+
free(): void;
|
|
986
|
+
[Symbol.dispose](): void;
|
|
987
|
+
/**
|
|
988
|
+
* Create a local level (random walk plus noise) model.
|
|
989
|
+
*
|
|
990
|
+
* @param obs_noise - Observation noise variance
|
|
991
|
+
* @param state_noise - State (level) noise variance
|
|
992
|
+
*/
|
|
993
|
+
static localLevel(obs_noise: number, state_noise: number): KalmanForecaster;
|
|
994
|
+
/**
|
|
995
|
+
* Create a local linear trend model.
|
|
996
|
+
*
|
|
997
|
+
* @param obs_noise - Observation noise variance
|
|
998
|
+
* @param level_noise - Level noise variance
|
|
999
|
+
* @param trend_noise - Trend noise variance
|
|
1000
|
+
*/
|
|
1001
|
+
static localLinearTrend(obs_noise: number, level_noise: number, trend_noise: number): KalmanForecaster;
|
|
1002
|
+
/**
|
|
1003
|
+
* Predict with prediction intervals.
|
|
1004
|
+
*
|
|
1005
|
+
* @param horizon - Number of steps to forecast
|
|
1006
|
+
* @param level - Confidence level (e.g., 0.95 for 95% intervals)
|
|
1007
|
+
* @returns Forecast with predictions and intervals
|
|
1008
|
+
*/
|
|
1009
|
+
predictWithIntervals(horizon: number, level: number): Forecast;
|
|
1010
|
+
/**
|
|
1011
|
+
* Fit the Kalman filter to a time series.
|
|
1012
|
+
*
|
|
1013
|
+
* @param series - TimeSeries to fit
|
|
1014
|
+
*/
|
|
1015
|
+
fit(series: TimeSeries): void;
|
|
1016
|
+
/**
|
|
1017
|
+
* Apply the Kalman smoother (RTS smoother) and return smoothed observations.
|
|
1018
|
+
*
|
|
1019
|
+
* @param series - TimeSeries to smooth
|
|
1020
|
+
* @returns Array of smoothed observation values
|
|
1021
|
+
*/
|
|
1022
|
+
smooth(series: TimeSeries): Float64Array;
|
|
1023
|
+
/**
|
|
1024
|
+
* Predict future values.
|
|
1025
|
+
*
|
|
1026
|
+
* @param horizon - Number of steps to forecast
|
|
1027
|
+
* @returns Forecast with point predictions
|
|
1028
|
+
*/
|
|
1029
|
+
predict(horizon: number): Forecast;
|
|
1030
|
+
/**
|
|
1031
|
+
* Get the model name.
|
|
1032
|
+
*/
|
|
1033
|
+
readonly name: string;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
835
1036
|
export class MFLESForecaster {
|
|
836
1037
|
free(): void;
|
|
837
1038
|
[Symbol.dispose](): void;
|
|
@@ -1111,6 +1312,48 @@ export class TimeSeries {
|
|
|
1111
1312
|
readonly values: Float64Array;
|
|
1112
1313
|
}
|
|
1113
1314
|
|
|
1315
|
+
export class VARForecaster {
|
|
1316
|
+
free(): void;
|
|
1317
|
+
[Symbol.dispose](): void;
|
|
1318
|
+
/**
|
|
1319
|
+
* Fit the VAR model to multivariate time series data.
|
|
1320
|
+
*
|
|
1321
|
+
* @param data - Array of Float64Arrays, one per variable. All must have the same length.
|
|
1322
|
+
*/
|
|
1323
|
+
fitMultivariate(data: Array<any>): void;
|
|
1324
|
+
/**
|
|
1325
|
+
* Predict future values for all variables.
|
|
1326
|
+
*
|
|
1327
|
+
* @param horizon - Number of steps to forecast
|
|
1328
|
+
* @returns Array of Float64Arrays, one per variable
|
|
1329
|
+
*/
|
|
1330
|
+
predictMultivariate(horizon: number): Array<any>;
|
|
1331
|
+
/**
|
|
1332
|
+
* Perform a Granger causality test.
|
|
1333
|
+
*
|
|
1334
|
+
* Tests whether variable `cause` Granger-causes variable `effect`.
|
|
1335
|
+
*
|
|
1336
|
+
* @param cause - Index of the potentially causal variable (0-based)
|
|
1337
|
+
* @param effect - Index of the effect variable (0-based)
|
|
1338
|
+
* @returns F-statistic. Higher values indicate stronger evidence of causality.
|
|
1339
|
+
*/
|
|
1340
|
+
grangerCausalityTest(cause: number, effect: number): number;
|
|
1341
|
+
/**
|
|
1342
|
+
* Create a new VAR forecaster with the given lag order.
|
|
1343
|
+
*
|
|
1344
|
+
* @param order - Number of lags (p). Must be at least 1.
|
|
1345
|
+
*/
|
|
1346
|
+
constructor(order: number);
|
|
1347
|
+
/**
|
|
1348
|
+
* Get the model name.
|
|
1349
|
+
*/
|
|
1350
|
+
readonly name: string;
|
|
1351
|
+
/**
|
|
1352
|
+
* Get the lag order.
|
|
1353
|
+
*/
|
|
1354
|
+
readonly order: number;
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1114
1357
|
export class WindowAverageForecaster {
|
|
1115
1358
|
free(): void;
|
|
1116
1359
|
[Symbol.dispose](): void;
|
|
@@ -1399,6 +1642,7 @@ export interface InitOutput {
|
|
|
1399
1642
|
readonly __wbg_autoarimaforecaster_free: (a: number, b: number) => void;
|
|
1400
1643
|
readonly __wbg_autoensembleforecaster_free: (a: number, b: number) => void;
|
|
1401
1644
|
readonly __wbg_autoetsforecaster_free: (a: number, b: number) => void;
|
|
1645
|
+
readonly __wbg_autoforecastbuilder_free: (a: number, b: number) => void;
|
|
1402
1646
|
readonly __wbg_autoforecaster_free: (a: number, b: number) => void;
|
|
1403
1647
|
readonly __wbg_autotbatsforecaster_free: (a: number, b: number) => void;
|
|
1404
1648
|
readonly __wbg_autothetaforecaster_free: (a: number, b: number) => void;
|
|
@@ -1418,12 +1662,14 @@ export interface InitOutput {
|
|
|
1418
1662
|
readonly __wbg_jsconformalresult_free: (a: number, b: number) => void;
|
|
1419
1663
|
readonly __wbg_jshistoricalsimresult_free: (a: number, b: number) => void;
|
|
1420
1664
|
readonly __wbg_jshistoricalsimulator_free: (a: number, b: number) => void;
|
|
1665
|
+
readonly __wbg_jsmodeldiagnostics_free: (a: number, b: number) => void;
|
|
1421
1666
|
readonly __wbg_jsnormalpredictor_free: (a: number, b: number) => void;
|
|
1422
1667
|
readonly __wbg_jsnormalresult_free: (a: number, b: number) => void;
|
|
1423
1668
|
readonly __wbg_jspointforecasts_free: (a: number, b: number) => void;
|
|
1424
1669
|
readonly __wbg_jspostprocessor_free: (a: number, b: number) => void;
|
|
1425
1670
|
readonly __wbg_jspredictionintervals_free: (a: number, b: number) => void;
|
|
1426
1671
|
readonly __wbg_jstrainedmodel_free: (a: number, b: number) => void;
|
|
1672
|
+
readonly __wbg_kalmanforecaster_free: (a: number, b: number) => void;
|
|
1427
1673
|
readonly __wbg_meanforecaster_free: (a: number, b: number) => void;
|
|
1428
1674
|
readonly __wbg_mflesforecaster_free: (a: number, b: number) => void;
|
|
1429
1675
|
readonly __wbg_mstlforecasterwrapper_free: (a: number, b: number) => void;
|
|
@@ -1435,10 +1681,10 @@ export interface InitOutput {
|
|
|
1435
1681
|
readonly __wbg_seasonalnaiveforecaster_free: (a: number, b: number) => void;
|
|
1436
1682
|
readonly __wbg_seasonalwindowaverageforecaster_free: (a: number, b: number) => void;
|
|
1437
1683
|
readonly __wbg_sesforecaster_free: (a: number, b: number) => void;
|
|
1438
|
-
readonly __wbg_smaforecaster_free: (a: number, b: number) => void;
|
|
1439
1684
|
readonly __wbg_tbatsforecaster_free: (a: number, b: number) => void;
|
|
1440
1685
|
readonly __wbg_thetaforecaster_free: (a: number, b: number) => void;
|
|
1441
1686
|
readonly __wbg_timeseries_free: (a: number, b: number) => void;
|
|
1687
|
+
readonly __wbg_varforecaster_free: (a: number, b: number) => void;
|
|
1442
1688
|
readonly adfTest: (a: number, b: number, c: number) => [number, number, number];
|
|
1443
1689
|
readonly adidaforecaster_fit: (a: number, b: number) => [number, number];
|
|
1444
1690
|
readonly adidaforecaster_name: (a: number) => [number, number];
|
|
@@ -1473,6 +1719,13 @@ export interface InitOutput {
|
|
|
1473
1719
|
readonly autoetsforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
1474
1720
|
readonly autoetsforecaster_withConfig: (a: number, b: number, c: number, d: number) => number;
|
|
1475
1721
|
readonly autoetsforecaster_withPeriod: (a: number) => number;
|
|
1722
|
+
readonly autoforecastbuilder_build: (a: number) => number;
|
|
1723
|
+
readonly autoforecastbuilder_includeArima: (a: number, b: number) => number;
|
|
1724
|
+
readonly autoforecastbuilder_includeEts: (a: number, b: number) => number;
|
|
1725
|
+
readonly autoforecastbuilder_includeTheta: (a: number, b: number) => number;
|
|
1726
|
+
readonly autoforecastbuilder_new: () => number;
|
|
1727
|
+
readonly autoforecastbuilder_seasonalPeriod: (a: number, b: number) => number;
|
|
1728
|
+
readonly autoforecastbuilder_useCrossValidation: (a: number, b: number) => number;
|
|
1476
1729
|
readonly autoforecaster_allScores: (a: number) => [number, number, number];
|
|
1477
1730
|
readonly autoforecaster_fit: (a: number, b: number) => [number, number];
|
|
1478
1731
|
readonly autoforecaster_name: (a: number) => [number, number];
|
|
@@ -1530,7 +1783,11 @@ export interface InitOutput {
|
|
|
1530
1783
|
readonly ensembleforecaster_new: (a: number, b: number) => [number, number, number];
|
|
1531
1784
|
readonly ensembleforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
1532
1785
|
readonly ensembleforecaster_predictWithIntervals: (a: number, b: number, c: number) => [number, number, number];
|
|
1786
|
+
readonly ensembleforecaster_setHorizonAdaptive: (a: number) => void;
|
|
1787
|
+
readonly ensembleforecaster_setInverseAic: (a: number) => void;
|
|
1533
1788
|
readonly ensembleforecaster_setMedian: (a: number) => void;
|
|
1789
|
+
readonly ensembleforecaster_setMethod: (a: number, b: number, c: number) => [number, number];
|
|
1790
|
+
readonly ensembleforecaster_setStacking: (a: number, b: number) => void;
|
|
1534
1791
|
readonly ensembleforecaster_setWeightedMse: (a: number) => void;
|
|
1535
1792
|
readonly ensembleforecaster_setWeights: (a: number, b: number, c: number) => void;
|
|
1536
1793
|
readonly etsforecaster_fit: (a: number, b: number) => [number, number];
|
|
@@ -1539,10 +1796,13 @@ export interface InitOutput {
|
|
|
1539
1796
|
readonly etsforecaster_name: (a: number) => [number, number];
|
|
1540
1797
|
readonly etsforecaster_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
|
|
1541
1798
|
readonly etsforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
1799
|
+
readonly forecast_clamp: (a: number, b: number, c: number) => number;
|
|
1542
1800
|
readonly forecast_hasLower: (a: number) => number;
|
|
1543
1801
|
readonly forecast_hasUpper: (a: number) => number;
|
|
1544
1802
|
readonly forecast_horizon: (a: number) => number;
|
|
1545
1803
|
readonly forecast_lower: (a: number) => [number, number];
|
|
1804
|
+
readonly forecast_nonNegative: (a: number) => number;
|
|
1805
|
+
readonly forecast_roundToInteger: (a: number) => number;
|
|
1546
1806
|
readonly forecast_upper: (a: number) => [number, number];
|
|
1547
1807
|
readonly forecast_values: (a: number) => [number, number];
|
|
1548
1808
|
readonly garchforecaster_fit: (a: number, b: number) => [number, number];
|
|
@@ -1592,11 +1852,19 @@ export interface InitOutput {
|
|
|
1592
1852
|
readonly jshistoricalsimulator_predictIntervals: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1593
1853
|
readonly jshistoricalsimulator_simulate: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
1594
1854
|
readonly jshistoricalsimulator_withWindow: (a: number, b: number, c: number) => number;
|
|
1855
|
+
readonly jsmodeldiagnostics_fromResiduals: (a: number, b: number, c: number) => number;
|
|
1856
|
+
readonly jsmodeldiagnostics_jarqueBeraStatistic: (a: number) => number;
|
|
1857
|
+
readonly jsmodeldiagnostics_ljungBoxLags: (a: number) => number;
|
|
1858
|
+
readonly jsmodeldiagnostics_ljungBoxPvalue: (a: number) => number;
|
|
1859
|
+
readonly jsmodeldiagnostics_passesAll: (a: number) => number;
|
|
1860
|
+
readonly jsmodeldiagnostics_residualAcf: (a: number) => [number, number];
|
|
1861
|
+
readonly jsmodeldiagnostics_residualMean: (a: number) => number;
|
|
1862
|
+
readonly jsmodeldiagnostics_residualPacf: (a: number) => [number, number];
|
|
1863
|
+
readonly jsmodeldiagnostics_residualStd: (a: number) => number;
|
|
1864
|
+
readonly jsmodeldiagnostics_summary: (a: number) => [number, number];
|
|
1595
1865
|
readonly jsnormalpredictor_fit: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
1596
1866
|
readonly jsnormalpredictor_new: (a: number, b: number) => number;
|
|
1597
1867
|
readonly jsnormalpredictor_predictIntervals: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1598
|
-
readonly jsnormalresult_mean: (a: number) => number;
|
|
1599
|
-
readonly jsnormalresult_stdDev: (a: number) => number;
|
|
1600
1868
|
readonly jspointforecasts_isEmpty: (a: number) => number;
|
|
1601
1869
|
readonly jspointforecasts_length: (a: number) => number;
|
|
1602
1870
|
readonly jspointforecasts_new: (a: number, b: number) => number;
|
|
@@ -1612,6 +1880,13 @@ export interface InitOutput {
|
|
|
1612
1880
|
readonly jspredictionintervals_midpoints: (a: number) => [number, number];
|
|
1613
1881
|
readonly jspredictionintervals_upper: (a: number) => [number, number];
|
|
1614
1882
|
readonly jspredictionintervals_widths: (a: number) => [number, number];
|
|
1883
|
+
readonly kalmanforecaster_fit: (a: number, b: number) => [number, number];
|
|
1884
|
+
readonly kalmanforecaster_localLevel: (a: number, b: number) => number;
|
|
1885
|
+
readonly kalmanforecaster_localLinearTrend: (a: number, b: number, c: number) => number;
|
|
1886
|
+
readonly kalmanforecaster_name: (a: number) => [number, number];
|
|
1887
|
+
readonly kalmanforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
1888
|
+
readonly kalmanforecaster_predictWithIntervals: (a: number, b: number, c: number) => [number, number, number];
|
|
1889
|
+
readonly kalmanforecaster_smooth: (a: number, b: number) => [number, number, number, number];
|
|
1615
1890
|
readonly kpssTest: (a: number, b: number, c: number) => [number, number, number];
|
|
1616
1891
|
readonly kurtosis: (a: number, b: number) => number;
|
|
1617
1892
|
readonly ljungBox: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
@@ -1706,6 +1981,12 @@ export interface InitOutput {
|
|
|
1706
1981
|
readonly tsbforecaster_new: () => number;
|
|
1707
1982
|
readonly tsbforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
1708
1983
|
readonly tsbforecaster_predictWithIntervals: (a: number, b: number, c: number) => [number, number, number];
|
|
1984
|
+
readonly varforecaster_fitMultivariate: (a: number, b: any) => [number, number];
|
|
1985
|
+
readonly varforecaster_grangerCausalityTest: (a: number, b: number, c: number) => [number, number, number];
|
|
1986
|
+
readonly varforecaster_name: (a: number) => [number, number];
|
|
1987
|
+
readonly varforecaster_new: (a: number) => number;
|
|
1988
|
+
readonly varforecaster_order: (a: number) => number;
|
|
1989
|
+
readonly varforecaster_predictMultivariate: (a: number, b: number) => [number, number, number];
|
|
1709
1990
|
readonly variance: (a: number, b: number) => number;
|
|
1710
1991
|
readonly version: () => [number, number];
|
|
1711
1992
|
readonly windowaverageforecaster_fit: (a: number, b: number) => [number, number];
|
|
@@ -1713,8 +1994,13 @@ export interface InitOutput {
|
|
|
1713
1994
|
readonly windowaverageforecaster_new: (a: number) => number;
|
|
1714
1995
|
readonly windowaverageforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
1715
1996
|
readonly tbatsforecaster_withSeasonalPeriods: (a: number, b: number) => number;
|
|
1997
|
+
readonly __wbg_smaforecaster_free: (a: number, b: number) => void;
|
|
1716
1998
|
readonly __wbg_tsbforecaster_free: (a: number, b: number) => void;
|
|
1717
1999
|
readonly __wbg_windowaverageforecaster_free: (a: number, b: number) => void;
|
|
2000
|
+
readonly jsmodeldiagnostics_heteroscedasticityPvalue: (a: number) => number;
|
|
2001
|
+
readonly jsmodeldiagnostics_jarqueBeraPvalue: (a: number) => number;
|
|
2002
|
+
readonly jsnormalresult_mean: (a: number) => number;
|
|
2003
|
+
readonly jsnormalresult_stdDev: (a: number) => number;
|
|
1718
2004
|
readonly jspredictionintervals_coverage: (a: number) => number;
|
|
1719
2005
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
1720
2006
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
package/anofox_forecast_js.js
CHANGED
|
@@ -188,6 +188,10 @@ const AutoEnsembleForecasterFinalization = (typeof FinalizationRegistry === 'und
|
|
|
188
188
|
? { register: () => {}, unregister: () => {} }
|
|
189
189
|
: new FinalizationRegistry(ptr => wasm.__wbg_autoensembleforecaster_free(ptr >>> 0, 1));
|
|
190
190
|
|
|
191
|
+
const AutoForecastBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
192
|
+
? { register: () => {}, unregister: () => {} }
|
|
193
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_autoforecastbuilder_free(ptr >>> 0, 1));
|
|
194
|
+
|
|
191
195
|
const AutoForecasterFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
192
196
|
? { register: () => {}, unregister: () => {} }
|
|
193
197
|
: new FinalizationRegistry(ptr => wasm.__wbg_autoforecaster_free(ptr >>> 0, 1));
|
|
@@ -264,6 +268,10 @@ const JsHistoricalSimulatorFinalization = (typeof FinalizationRegistry === 'unde
|
|
|
264
268
|
? { register: () => {}, unregister: () => {} }
|
|
265
269
|
: new FinalizationRegistry(ptr => wasm.__wbg_jshistoricalsimulator_free(ptr >>> 0, 1));
|
|
266
270
|
|
|
271
|
+
const JsModelDiagnosticsFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
272
|
+
? { register: () => {}, unregister: () => {} }
|
|
273
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_jsmodeldiagnostics_free(ptr >>> 0, 1));
|
|
274
|
+
|
|
267
275
|
const JsNormalPredictorFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
268
276
|
? { register: () => {}, unregister: () => {} }
|
|
269
277
|
: new FinalizationRegistry(ptr => wasm.__wbg_jsnormalpredictor_free(ptr >>> 0, 1));
|
|
@@ -288,6 +296,10 @@ const JsTrainedModelFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
288
296
|
? { register: () => {}, unregister: () => {} }
|
|
289
297
|
: new FinalizationRegistry(ptr => wasm.__wbg_jstrainedmodel_free(ptr >>> 0, 1));
|
|
290
298
|
|
|
299
|
+
const KalmanForecasterFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
300
|
+
? { register: () => {}, unregister: () => {} }
|
|
301
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_kalmanforecaster_free(ptr >>> 0, 1));
|
|
302
|
+
|
|
291
303
|
const MFLESForecasterFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
292
304
|
? { register: () => {}, unregister: () => {} }
|
|
293
305
|
: new FinalizationRegistry(ptr => wasm.__wbg_mflesforecaster_free(ptr >>> 0, 1));
|
|
@@ -352,6 +364,10 @@ const TimeSeriesFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
352
364
|
? { register: () => {}, unregister: () => {} }
|
|
353
365
|
: new FinalizationRegistry(ptr => wasm.__wbg_timeseries_free(ptr >>> 0, 1));
|
|
354
366
|
|
|
367
|
+
const VARForecasterFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
368
|
+
? { register: () => {}, unregister: () => {} }
|
|
369
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_varforecaster_free(ptr >>> 0, 1));
|
|
370
|
+
|
|
355
371
|
const WindowAverageForecasterFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
356
372
|
? { register: () => {}, unregister: () => {} }
|
|
357
373
|
: new FinalizationRegistry(ptr => wasm.__wbg_windowaverageforecaster_free(ptr >>> 0, 1));
|
|
@@ -825,6 +841,113 @@ export class AutoEnsembleForecaster {
|
|
|
825
841
|
}
|
|
826
842
|
if (Symbol.dispose) AutoEnsembleForecaster.prototype[Symbol.dispose] = AutoEnsembleForecaster.prototype.free;
|
|
827
843
|
|
|
844
|
+
/**
|
|
845
|
+
* Builder for constructing an AutoForecaster with custom parameters.
|
|
846
|
+
*
|
|
847
|
+
* Uses a fluent API: chain setter methods and call `build()` to produce
|
|
848
|
+
* an `AutoForecaster`.
|
|
849
|
+
*/
|
|
850
|
+
export class AutoForecastBuilder {
|
|
851
|
+
static __wrap(ptr) {
|
|
852
|
+
ptr = ptr >>> 0;
|
|
853
|
+
const obj = Object.create(AutoForecastBuilder.prototype);
|
|
854
|
+
obj.__wbg_ptr = ptr;
|
|
855
|
+
AutoForecastBuilderFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
856
|
+
return obj;
|
|
857
|
+
}
|
|
858
|
+
__destroy_into_raw() {
|
|
859
|
+
const ptr = this.__wbg_ptr;
|
|
860
|
+
this.__wbg_ptr = 0;
|
|
861
|
+
AutoForecastBuilderFinalization.unregister(this);
|
|
862
|
+
return ptr;
|
|
863
|
+
}
|
|
864
|
+
free() {
|
|
865
|
+
const ptr = this.__destroy_into_raw();
|
|
866
|
+
wasm.__wbg_autoforecastbuilder_free(ptr, 0);
|
|
867
|
+
}
|
|
868
|
+
/**
|
|
869
|
+
* Include or exclude AutoETS from the candidate set.
|
|
870
|
+
*
|
|
871
|
+
* @param include - Whether to include AutoETS (default: true)
|
|
872
|
+
* @param {boolean} include
|
|
873
|
+
* @returns {AutoForecastBuilder}
|
|
874
|
+
*/
|
|
875
|
+
includeEts(include) {
|
|
876
|
+
const ptr = this.__destroy_into_raw();
|
|
877
|
+
const ret = wasm.autoforecastbuilder_includeEts(ptr, include);
|
|
878
|
+
return AutoForecastBuilder.__wrap(ret);
|
|
879
|
+
}
|
|
880
|
+
/**
|
|
881
|
+
* Include or exclude AutoARIMA from the candidate set.
|
|
882
|
+
*
|
|
883
|
+
* @param include - Whether to include AutoARIMA (default: true)
|
|
884
|
+
* @param {boolean} include
|
|
885
|
+
* @returns {AutoForecastBuilder}
|
|
886
|
+
*/
|
|
887
|
+
includeArima(include) {
|
|
888
|
+
const ptr = this.__destroy_into_raw();
|
|
889
|
+
const ret = wasm.autoforecastbuilder_includeArima(ptr, include);
|
|
890
|
+
return AutoForecastBuilder.__wrap(ret);
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Include or exclude AutoTheta from the candidate set.
|
|
894
|
+
*
|
|
895
|
+
* @param include - Whether to include AutoTheta (default: true)
|
|
896
|
+
* @param {boolean} include
|
|
897
|
+
* @returns {AutoForecastBuilder}
|
|
898
|
+
*/
|
|
899
|
+
includeTheta(include) {
|
|
900
|
+
const ptr = this.__destroy_into_raw();
|
|
901
|
+
const ret = wasm.autoforecastbuilder_includeTheta(ptr, include);
|
|
902
|
+
return AutoForecastBuilder.__wrap(ret);
|
|
903
|
+
}
|
|
904
|
+
/**
|
|
905
|
+
* Set the seasonal period.
|
|
906
|
+
*
|
|
907
|
+
* @param period - Seasonal period (e.g., 12 for monthly data)
|
|
908
|
+
* @param {number} period
|
|
909
|
+
* @returns {AutoForecastBuilder}
|
|
910
|
+
*/
|
|
911
|
+
seasonalPeriod(period) {
|
|
912
|
+
const ptr = this.__destroy_into_raw();
|
|
913
|
+
const ret = wasm.autoforecastbuilder_seasonalPeriod(ptr, period);
|
|
914
|
+
return AutoForecastBuilder.__wrap(ret);
|
|
915
|
+
}
|
|
916
|
+
/**
|
|
917
|
+
* Use cross-validation instead of in-sample MSE for model selection.
|
|
918
|
+
*
|
|
919
|
+
* @param useCv - Whether to use cross-validation (default: false)
|
|
920
|
+
* @param {boolean} use_cv
|
|
921
|
+
* @returns {AutoForecastBuilder}
|
|
922
|
+
*/
|
|
923
|
+
useCrossValidation(use_cv) {
|
|
924
|
+
const ptr = this.__destroy_into_raw();
|
|
925
|
+
const ret = wasm.autoforecastbuilder_useCrossValidation(ptr, use_cv);
|
|
926
|
+
return AutoForecastBuilder.__wrap(ret);
|
|
927
|
+
}
|
|
928
|
+
/**
|
|
929
|
+
* Create a new builder with all defaults enabled.
|
|
930
|
+
*/
|
|
931
|
+
constructor() {
|
|
932
|
+
const ret = wasm.autoforecastbuilder_new();
|
|
933
|
+
this.__wbg_ptr = ret >>> 0;
|
|
934
|
+
AutoForecastBuilderFinalization.register(this, this.__wbg_ptr, this);
|
|
935
|
+
return this;
|
|
936
|
+
}
|
|
937
|
+
/**
|
|
938
|
+
* Build the AutoForecaster with the configured parameters.
|
|
939
|
+
*
|
|
940
|
+
* @returns A new AutoForecaster ready to fit
|
|
941
|
+
* @returns {AutoForecaster}
|
|
942
|
+
*/
|
|
943
|
+
build() {
|
|
944
|
+
const ptr = this.__destroy_into_raw();
|
|
945
|
+
const ret = wasm.autoforecastbuilder_build(ptr);
|
|
946
|
+
return AutoForecaster.__wrap(ret);
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
if (Symbol.dispose) AutoForecastBuilder.prototype[Symbol.dispose] = AutoForecastBuilder.prototype.free;
|
|
950
|
+
|
|
828
951
|
/**
|
|
829
952
|
* Automatic model selection across ARIMA, ETS, and Theta families.
|
|
830
953
|
*
|
|
@@ -1688,6 +1811,23 @@ export class EnsembleForecaster {
|
|
|
1688
1811
|
setMedian() {
|
|
1689
1812
|
wasm.ensembleforecaster_setMedian(this.__wbg_ptr);
|
|
1690
1813
|
}
|
|
1814
|
+
/**
|
|
1815
|
+
* Set the combination method by name string.
|
|
1816
|
+
*
|
|
1817
|
+
* Supported values: "mean", "median", "weighted_mse", "inverse_aic",
|
|
1818
|
+
* "stacking", "horizon_adaptive".
|
|
1819
|
+
*
|
|
1820
|
+
* @param method - Combination method name
|
|
1821
|
+
* @param {string} method
|
|
1822
|
+
*/
|
|
1823
|
+
setMethod(method) {
|
|
1824
|
+
const ptr0 = passStringToWasm0(method, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1825
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1826
|
+
const ret = wasm.ensembleforecaster_setMethod(this.__wbg_ptr, ptr0, len0);
|
|
1827
|
+
if (ret[1]) {
|
|
1828
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
1829
|
+
}
|
|
1830
|
+
}
|
|
1691
1831
|
/**
|
|
1692
1832
|
* Get the number of models in the ensemble.
|
|
1693
1833
|
* @returns {number}
|
|
@@ -1709,12 +1849,40 @@ export class EnsembleForecaster {
|
|
|
1709
1849
|
const len0 = WASM_VECTOR_LEN;
|
|
1710
1850
|
wasm.ensembleforecaster_setWeights(this.__wbg_ptr, ptr0, len0);
|
|
1711
1851
|
}
|
|
1852
|
+
/**
|
|
1853
|
+
* Set the combination method to stacking (projected gradient descent).
|
|
1854
|
+
*
|
|
1855
|
+
* Trains non-negative weights that sum to one on validation data.
|
|
1856
|
+
*
|
|
1857
|
+
* @param folds - Number of folds (default: 5)
|
|
1858
|
+
* @param {number | null} [folds]
|
|
1859
|
+
*/
|
|
1860
|
+
setStacking(folds) {
|
|
1861
|
+
wasm.ensembleforecaster_setStacking(this.__wbg_ptr, isLikeNone(folds) ? 0x100000001 : (folds) >>> 0);
|
|
1862
|
+
}
|
|
1863
|
+
/**
|
|
1864
|
+
* Set the combination method to inverse AIC weighting.
|
|
1865
|
+
*
|
|
1866
|
+
* Computes Akaike weights from in-sample residuals.
|
|
1867
|
+
*/
|
|
1868
|
+
setInverseAic() {
|
|
1869
|
+
wasm.ensembleforecaster_setInverseAic(this.__wbg_ptr);
|
|
1870
|
+
}
|
|
1712
1871
|
/**
|
|
1713
1872
|
* Set the combination method to weighted MSE.
|
|
1714
1873
|
*/
|
|
1715
1874
|
setWeightedMse() {
|
|
1716
1875
|
wasm.ensembleforecaster_setWeightedMse(this.__wbg_ptr);
|
|
1717
1876
|
}
|
|
1877
|
+
/**
|
|
1878
|
+
* Set the combination method to per-horizon adaptive weighting.
|
|
1879
|
+
*
|
|
1880
|
+
* Computes separate weight vectors for each forecast horizon step
|
|
1881
|
+
* based on rolling-origin evaluation.
|
|
1882
|
+
*/
|
|
1883
|
+
setHorizonAdaptive() {
|
|
1884
|
+
wasm.ensembleforecaster_setHorizonAdaptive(this.__wbg_ptr);
|
|
1885
|
+
}
|
|
1718
1886
|
/**
|
|
1719
1887
|
* Predict with prediction intervals.
|
|
1720
1888
|
*
|
|
@@ -1822,6 +1990,36 @@ export class Forecast {
|
|
|
1822
1990
|
const ptr = this.__destroy_into_raw();
|
|
1823
1991
|
wasm.__wbg_forecast_free(ptr, 0);
|
|
1824
1992
|
}
|
|
1993
|
+
/**
|
|
1994
|
+
* Return a new forecast with all values clamped to be non-negative.
|
|
1995
|
+
* @returns {Forecast}
|
|
1996
|
+
*/
|
|
1997
|
+
nonNegative() {
|
|
1998
|
+
const ret = wasm.forecast_nonNegative(this.__wbg_ptr);
|
|
1999
|
+
return Forecast.__wrap(ret);
|
|
2000
|
+
}
|
|
2001
|
+
/**
|
|
2002
|
+
* Return a new forecast with point values rounded to the nearest integer,
|
|
2003
|
+
* lower intervals floored, and upper intervals ceiled.
|
|
2004
|
+
* @returns {Forecast}
|
|
2005
|
+
*/
|
|
2006
|
+
roundToInteger() {
|
|
2007
|
+
const ret = wasm.forecast_roundToInteger(this.__wbg_ptr);
|
|
2008
|
+
return Forecast.__wrap(ret);
|
|
2009
|
+
}
|
|
2010
|
+
/**
|
|
2011
|
+
* Return a new forecast with all values clamped to `[lower, upper]`.
|
|
2012
|
+
*
|
|
2013
|
+
* @param lower - Lower bound
|
|
2014
|
+
* @param upper - Upper bound
|
|
2015
|
+
* @param {number} lower
|
|
2016
|
+
* @param {number} upper
|
|
2017
|
+
* @returns {Forecast}
|
|
2018
|
+
*/
|
|
2019
|
+
clamp(lower, upper) {
|
|
2020
|
+
const ret = wasm.forecast_clamp(this.__wbg_ptr, lower, upper);
|
|
2021
|
+
return Forecast.__wrap(ret);
|
|
2022
|
+
}
|
|
1825
2023
|
/**
|
|
1826
2024
|
* Get lower prediction interval bounds.
|
|
1827
2025
|
*
|
|
@@ -2649,6 +2847,148 @@ export class JsHistoricalSimulator {
|
|
|
2649
2847
|
}
|
|
2650
2848
|
if (Symbol.dispose) JsHistoricalSimulator.prototype[Symbol.dispose] = JsHistoricalSimulator.prototype.free;
|
|
2651
2849
|
|
|
2850
|
+
/**
|
|
2851
|
+
* Complete model diagnostics report.
|
|
2852
|
+
*
|
|
2853
|
+
* Includes Ljung-Box, Jarque-Bera, and Breusch-Pagan tests, plus
|
|
2854
|
+
* residual ACF/PACF and summary statistics.
|
|
2855
|
+
*/
|
|
2856
|
+
export class JsModelDiagnostics {
|
|
2857
|
+
static __wrap(ptr) {
|
|
2858
|
+
ptr = ptr >>> 0;
|
|
2859
|
+
const obj = Object.create(JsModelDiagnostics.prototype);
|
|
2860
|
+
obj.__wbg_ptr = ptr;
|
|
2861
|
+
JsModelDiagnosticsFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
2862
|
+
return obj;
|
|
2863
|
+
}
|
|
2864
|
+
__destroy_into_raw() {
|
|
2865
|
+
const ptr = this.__wbg_ptr;
|
|
2866
|
+
this.__wbg_ptr = 0;
|
|
2867
|
+
JsModelDiagnosticsFinalization.unregister(this);
|
|
2868
|
+
return ptr;
|
|
2869
|
+
}
|
|
2870
|
+
free() {
|
|
2871
|
+
const ptr = this.__destroy_into_raw();
|
|
2872
|
+
wasm.__wbg_jsmodeldiagnostics_free(ptr, 0);
|
|
2873
|
+
}
|
|
2874
|
+
/**
|
|
2875
|
+
* Whether all diagnostic tests pass at the configured significance level.
|
|
2876
|
+
* @returns {boolean}
|
|
2877
|
+
*/
|
|
2878
|
+
get passesAll() {
|
|
2879
|
+
const ret = wasm.jsmodeldiagnostics_passesAll(this.__wbg_ptr);
|
|
2880
|
+
return ret !== 0;
|
|
2881
|
+
}
|
|
2882
|
+
/**
|
|
2883
|
+
* Autocorrelation function of the residuals.
|
|
2884
|
+
* @returns {Float64Array}
|
|
2885
|
+
*/
|
|
2886
|
+
get residualAcf() {
|
|
2887
|
+
const ret = wasm.jsmodeldiagnostics_residualAcf(this.__wbg_ptr);
|
|
2888
|
+
var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
2889
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
2890
|
+
return v1;
|
|
2891
|
+
}
|
|
2892
|
+
/**
|
|
2893
|
+
* Standard deviation of the residuals.
|
|
2894
|
+
* @returns {number}
|
|
2895
|
+
*/
|
|
2896
|
+
get residualStd() {
|
|
2897
|
+
const ret = wasm.jsmodeldiagnostics_residualStd(this.__wbg_ptr);
|
|
2898
|
+
return ret;
|
|
2899
|
+
}
|
|
2900
|
+
/**
|
|
2901
|
+
* Mean of the residuals.
|
|
2902
|
+
* @returns {number}
|
|
2903
|
+
*/
|
|
2904
|
+
get residualMean() {
|
|
2905
|
+
const ret = wasm.jsmodeldiagnostics_residualMean(this.__wbg_ptr);
|
|
2906
|
+
return ret;
|
|
2907
|
+
}
|
|
2908
|
+
/**
|
|
2909
|
+
* Partial autocorrelation function of the residuals.
|
|
2910
|
+
* @returns {Float64Array}
|
|
2911
|
+
*/
|
|
2912
|
+
get residualPacf() {
|
|
2913
|
+
const ret = wasm.jsmodeldiagnostics_residualPacf(this.__wbg_ptr);
|
|
2914
|
+
var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
2915
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
2916
|
+
return v1;
|
|
2917
|
+
}
|
|
2918
|
+
/**
|
|
2919
|
+
* Create diagnostics from an array of residuals.
|
|
2920
|
+
*
|
|
2921
|
+
* @param residuals - Array of model residuals
|
|
2922
|
+
* @param significance - Significance level for tests (e.g., 0.05)
|
|
2923
|
+
* @param {Float64Array} residuals
|
|
2924
|
+
* @param {number} significance
|
|
2925
|
+
* @returns {JsModelDiagnostics}
|
|
2926
|
+
*/
|
|
2927
|
+
static fromResiduals(residuals, significance) {
|
|
2928
|
+
const ptr0 = passArrayF64ToWasm0(residuals, wasm.__wbindgen_malloc);
|
|
2929
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2930
|
+
const ret = wasm.jsmodeldiagnostics_fromResiduals(ptr0, len0, significance);
|
|
2931
|
+
return JsModelDiagnostics.__wrap(ret);
|
|
2932
|
+
}
|
|
2933
|
+
/**
|
|
2934
|
+
* Number of lags used in the Ljung-Box test.
|
|
2935
|
+
* @returns {number}
|
|
2936
|
+
*/
|
|
2937
|
+
get ljungBoxLags() {
|
|
2938
|
+
const ret = wasm.jsmodeldiagnostics_ljungBoxLags(this.__wbg_ptr);
|
|
2939
|
+
return ret >>> 0;
|
|
2940
|
+
}
|
|
2941
|
+
/**
|
|
2942
|
+
* Ljung-Box test p-value for autocorrelation.
|
|
2943
|
+
* @returns {number}
|
|
2944
|
+
*/
|
|
2945
|
+
get ljungBoxPvalue() {
|
|
2946
|
+
const ret = wasm.jsmodeldiagnostics_ljungBoxPvalue(this.__wbg_ptr);
|
|
2947
|
+
return ret;
|
|
2948
|
+
}
|
|
2949
|
+
/**
|
|
2950
|
+
* Jarque-Bera test p-value.
|
|
2951
|
+
* @returns {number}
|
|
2952
|
+
*/
|
|
2953
|
+
get jarqueBeraPvalue() {
|
|
2954
|
+
const ret = wasm.jsconformalresult_quantileValue(this.__wbg_ptr);
|
|
2955
|
+
return ret;
|
|
2956
|
+
}
|
|
2957
|
+
/**
|
|
2958
|
+
* Jarque-Bera test statistic for normality.
|
|
2959
|
+
* @returns {number}
|
|
2960
|
+
*/
|
|
2961
|
+
get jarqueBeraStatistic() {
|
|
2962
|
+
const ret = wasm.jsmodeldiagnostics_jarqueBeraStatistic(this.__wbg_ptr);
|
|
2963
|
+
return ret;
|
|
2964
|
+
}
|
|
2965
|
+
/**
|
|
2966
|
+
* Breusch-Pagan heteroscedasticity test p-value.
|
|
2967
|
+
* @returns {number}
|
|
2968
|
+
*/
|
|
2969
|
+
get heteroscedasticityPvalue() {
|
|
2970
|
+
const ret = wasm.jsconformalresult_coverage(this.__wbg_ptr);
|
|
2971
|
+
return ret;
|
|
2972
|
+
}
|
|
2973
|
+
/**
|
|
2974
|
+
* Get a human-readable summary of the diagnostics.
|
|
2975
|
+
* @returns {string}
|
|
2976
|
+
*/
|
|
2977
|
+
summary() {
|
|
2978
|
+
let deferred1_0;
|
|
2979
|
+
let deferred1_1;
|
|
2980
|
+
try {
|
|
2981
|
+
const ret = wasm.jsmodeldiagnostics_summary(this.__wbg_ptr);
|
|
2982
|
+
deferred1_0 = ret[0];
|
|
2983
|
+
deferred1_1 = ret[1];
|
|
2984
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
2985
|
+
} finally {
|
|
2986
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
2987
|
+
}
|
|
2988
|
+
}
|
|
2989
|
+
}
|
|
2990
|
+
if (Symbol.dispose) JsModelDiagnostics.prototype[Symbol.dispose] = JsModelDiagnostics.prototype.free;
|
|
2991
|
+
|
|
2652
2992
|
/**
|
|
2653
2993
|
* Normal predictor — assumes Gaussian forecast errors.
|
|
2654
2994
|
*
|
|
@@ -2750,7 +3090,7 @@ export class JsNormalResult {
|
|
|
2750
3090
|
* @returns {number}
|
|
2751
3091
|
*/
|
|
2752
3092
|
get mean() {
|
|
2753
|
-
const ret = wasm.
|
|
3093
|
+
const ret = wasm.jsmodeldiagnostics_ljungBoxPvalue(this.__wbg_ptr);
|
|
2754
3094
|
return ret;
|
|
2755
3095
|
}
|
|
2756
3096
|
/**
|
|
@@ -2758,7 +3098,7 @@ export class JsNormalResult {
|
|
|
2758
3098
|
* @returns {number}
|
|
2759
3099
|
*/
|
|
2760
3100
|
stdDev() {
|
|
2761
|
-
const ret = wasm.
|
|
3101
|
+
const ret = wasm.jsmodeldiagnostics_jarqueBeraStatistic(this.__wbg_ptr);
|
|
2762
3102
|
return ret;
|
|
2763
3103
|
}
|
|
2764
3104
|
}
|
|
@@ -2995,7 +3335,7 @@ export class JsPredictionIntervals {
|
|
|
2995
3335
|
* @returns {number}
|
|
2996
3336
|
*/
|
|
2997
3337
|
get coverage() {
|
|
2998
|
-
const ret = wasm.
|
|
3338
|
+
const ret = wasm.jsmodeldiagnostics_ljungBoxPvalue(this.__wbg_ptr);
|
|
2999
3339
|
return ret;
|
|
3000
3340
|
}
|
|
3001
3341
|
/**
|
|
@@ -3037,6 +3377,139 @@ export class JsTrainedModel {
|
|
|
3037
3377
|
}
|
|
3038
3378
|
if (Symbol.dispose) JsTrainedModel.prototype[Symbol.dispose] = JsTrainedModel.prototype.free;
|
|
3039
3379
|
|
|
3380
|
+
/**
|
|
3381
|
+
* Kalman filter forecaster for state-space models.
|
|
3382
|
+
*
|
|
3383
|
+
* Supports local level and local linear trend models out of the box.
|
|
3384
|
+
*/
|
|
3385
|
+
export class KalmanForecaster {
|
|
3386
|
+
static __wrap(ptr) {
|
|
3387
|
+
ptr = ptr >>> 0;
|
|
3388
|
+
const obj = Object.create(KalmanForecaster.prototype);
|
|
3389
|
+
obj.__wbg_ptr = ptr;
|
|
3390
|
+
KalmanForecasterFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
3391
|
+
return obj;
|
|
3392
|
+
}
|
|
3393
|
+
__destroy_into_raw() {
|
|
3394
|
+
const ptr = this.__wbg_ptr;
|
|
3395
|
+
this.__wbg_ptr = 0;
|
|
3396
|
+
KalmanForecasterFinalization.unregister(this);
|
|
3397
|
+
return ptr;
|
|
3398
|
+
}
|
|
3399
|
+
free() {
|
|
3400
|
+
const ptr = this.__destroy_into_raw();
|
|
3401
|
+
wasm.__wbg_kalmanforecaster_free(ptr, 0);
|
|
3402
|
+
}
|
|
3403
|
+
/**
|
|
3404
|
+
* Create a local level (random walk plus noise) model.
|
|
3405
|
+
*
|
|
3406
|
+
* @param obs_noise - Observation noise variance
|
|
3407
|
+
* @param state_noise - State (level) noise variance
|
|
3408
|
+
* @param {number} obs_noise
|
|
3409
|
+
* @param {number} state_noise
|
|
3410
|
+
* @returns {KalmanForecaster}
|
|
3411
|
+
*/
|
|
3412
|
+
static localLevel(obs_noise, state_noise) {
|
|
3413
|
+
const ret = wasm.kalmanforecaster_localLevel(obs_noise, state_noise);
|
|
3414
|
+
return KalmanForecaster.__wrap(ret);
|
|
3415
|
+
}
|
|
3416
|
+
/**
|
|
3417
|
+
* Create a local linear trend model.
|
|
3418
|
+
*
|
|
3419
|
+
* @param obs_noise - Observation noise variance
|
|
3420
|
+
* @param level_noise - Level noise variance
|
|
3421
|
+
* @param trend_noise - Trend noise variance
|
|
3422
|
+
* @param {number} obs_noise
|
|
3423
|
+
* @param {number} level_noise
|
|
3424
|
+
* @param {number} trend_noise
|
|
3425
|
+
* @returns {KalmanForecaster}
|
|
3426
|
+
*/
|
|
3427
|
+
static localLinearTrend(obs_noise, level_noise, trend_noise) {
|
|
3428
|
+
const ret = wasm.kalmanforecaster_localLinearTrend(obs_noise, level_noise, trend_noise);
|
|
3429
|
+
return KalmanForecaster.__wrap(ret);
|
|
3430
|
+
}
|
|
3431
|
+
/**
|
|
3432
|
+
* Predict with prediction intervals.
|
|
3433
|
+
*
|
|
3434
|
+
* @param horizon - Number of steps to forecast
|
|
3435
|
+
* @param level - Confidence level (e.g., 0.95 for 95% intervals)
|
|
3436
|
+
* @returns Forecast with predictions and intervals
|
|
3437
|
+
* @param {number} horizon
|
|
3438
|
+
* @param {number} level
|
|
3439
|
+
* @returns {Forecast}
|
|
3440
|
+
*/
|
|
3441
|
+
predictWithIntervals(horizon, level) {
|
|
3442
|
+
const ret = wasm.kalmanforecaster_predictWithIntervals(this.__wbg_ptr, horizon, level);
|
|
3443
|
+
if (ret[2]) {
|
|
3444
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
3445
|
+
}
|
|
3446
|
+
return Forecast.__wrap(ret[0]);
|
|
3447
|
+
}
|
|
3448
|
+
/**
|
|
3449
|
+
* Fit the Kalman filter to a time series.
|
|
3450
|
+
*
|
|
3451
|
+
* @param series - TimeSeries to fit
|
|
3452
|
+
* @param {TimeSeries} series
|
|
3453
|
+
*/
|
|
3454
|
+
fit(series) {
|
|
3455
|
+
_assertClass(series, TimeSeries);
|
|
3456
|
+
const ret = wasm.kalmanforecaster_fit(this.__wbg_ptr, series.__wbg_ptr);
|
|
3457
|
+
if (ret[1]) {
|
|
3458
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
3459
|
+
}
|
|
3460
|
+
}
|
|
3461
|
+
/**
|
|
3462
|
+
* Get the model name.
|
|
3463
|
+
* @returns {string}
|
|
3464
|
+
*/
|
|
3465
|
+
get name() {
|
|
3466
|
+
let deferred1_0;
|
|
3467
|
+
let deferred1_1;
|
|
3468
|
+
try {
|
|
3469
|
+
const ret = wasm.kalmanforecaster_name(this.__wbg_ptr);
|
|
3470
|
+
deferred1_0 = ret[0];
|
|
3471
|
+
deferred1_1 = ret[1];
|
|
3472
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
3473
|
+
} finally {
|
|
3474
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
3475
|
+
}
|
|
3476
|
+
}
|
|
3477
|
+
/**
|
|
3478
|
+
* Apply the Kalman smoother (RTS smoother) and return smoothed observations.
|
|
3479
|
+
*
|
|
3480
|
+
* @param series - TimeSeries to smooth
|
|
3481
|
+
* @returns Array of smoothed observation values
|
|
3482
|
+
* @param {TimeSeries} series
|
|
3483
|
+
* @returns {Float64Array}
|
|
3484
|
+
*/
|
|
3485
|
+
smooth(series) {
|
|
3486
|
+
_assertClass(series, TimeSeries);
|
|
3487
|
+
const ret = wasm.kalmanforecaster_smooth(this.__wbg_ptr, series.__wbg_ptr);
|
|
3488
|
+
if (ret[3]) {
|
|
3489
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
3490
|
+
}
|
|
3491
|
+
var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
3492
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
3493
|
+
return v1;
|
|
3494
|
+
}
|
|
3495
|
+
/**
|
|
3496
|
+
* Predict future values.
|
|
3497
|
+
*
|
|
3498
|
+
* @param horizon - Number of steps to forecast
|
|
3499
|
+
* @returns Forecast with point predictions
|
|
3500
|
+
* @param {number} horizon
|
|
3501
|
+
* @returns {Forecast}
|
|
3502
|
+
*/
|
|
3503
|
+
predict(horizon) {
|
|
3504
|
+
const ret = wasm.kalmanforecaster_predict(this.__wbg_ptr, horizon);
|
|
3505
|
+
if (ret[2]) {
|
|
3506
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
3507
|
+
}
|
|
3508
|
+
return Forecast.__wrap(ret[0]);
|
|
3509
|
+
}
|
|
3510
|
+
}
|
|
3511
|
+
if (Symbol.dispose) KalmanForecaster.prototype[Symbol.dispose] = KalmanForecaster.prototype.free;
|
|
3512
|
+
|
|
3040
3513
|
/**
|
|
3041
3514
|
* MFLES - Multiple Frequency Locally Estimated Scatterplot Smoothing.
|
|
3042
3515
|
*/
|
|
@@ -4319,6 +4792,108 @@ export class TimeSeries {
|
|
|
4319
4792
|
}
|
|
4320
4793
|
if (Symbol.dispose) TimeSeries.prototype[Symbol.dispose] = TimeSeries.prototype.free;
|
|
4321
4794
|
|
|
4795
|
+
/**
|
|
4796
|
+
* Vector Autoregression forecaster for multivariate time series.
|
|
4797
|
+
*
|
|
4798
|
+
* Models multiple time series jointly where each variable at time t is a
|
|
4799
|
+
* linear function of the p most recent lags of all variables.
|
|
4800
|
+
*/
|
|
4801
|
+
export class VARForecaster {
|
|
4802
|
+
__destroy_into_raw() {
|
|
4803
|
+
const ptr = this.__wbg_ptr;
|
|
4804
|
+
this.__wbg_ptr = 0;
|
|
4805
|
+
VARForecasterFinalization.unregister(this);
|
|
4806
|
+
return ptr;
|
|
4807
|
+
}
|
|
4808
|
+
free() {
|
|
4809
|
+
const ptr = this.__destroy_into_raw();
|
|
4810
|
+
wasm.__wbg_varforecaster_free(ptr, 0);
|
|
4811
|
+
}
|
|
4812
|
+
/**
|
|
4813
|
+
* Fit the VAR model to multivariate time series data.
|
|
4814
|
+
*
|
|
4815
|
+
* @param data - Array of Float64Arrays, one per variable. All must have the same length.
|
|
4816
|
+
* @param {Array<any>} data
|
|
4817
|
+
*/
|
|
4818
|
+
fitMultivariate(data) {
|
|
4819
|
+
const ret = wasm.varforecaster_fitMultivariate(this.__wbg_ptr, data);
|
|
4820
|
+
if (ret[1]) {
|
|
4821
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
4822
|
+
}
|
|
4823
|
+
}
|
|
4824
|
+
/**
|
|
4825
|
+
* Predict future values for all variables.
|
|
4826
|
+
*
|
|
4827
|
+
* @param horizon - Number of steps to forecast
|
|
4828
|
+
* @returns Array of Float64Arrays, one per variable
|
|
4829
|
+
* @param {number} horizon
|
|
4830
|
+
* @returns {Array<any>}
|
|
4831
|
+
*/
|
|
4832
|
+
predictMultivariate(horizon) {
|
|
4833
|
+
const ret = wasm.varforecaster_predictMultivariate(this.__wbg_ptr, horizon);
|
|
4834
|
+
if (ret[2]) {
|
|
4835
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
4836
|
+
}
|
|
4837
|
+
return takeFromExternrefTable0(ret[0]);
|
|
4838
|
+
}
|
|
4839
|
+
/**
|
|
4840
|
+
* Perform a Granger causality test.
|
|
4841
|
+
*
|
|
4842
|
+
* Tests whether variable `cause` Granger-causes variable `effect`.
|
|
4843
|
+
*
|
|
4844
|
+
* @param cause - Index of the potentially causal variable (0-based)
|
|
4845
|
+
* @param effect - Index of the effect variable (0-based)
|
|
4846
|
+
* @returns F-statistic. Higher values indicate stronger evidence of causality.
|
|
4847
|
+
* @param {number} cause
|
|
4848
|
+
* @param {number} effect
|
|
4849
|
+
* @returns {number}
|
|
4850
|
+
*/
|
|
4851
|
+
grangerCausalityTest(cause, effect) {
|
|
4852
|
+
const ret = wasm.varforecaster_grangerCausalityTest(this.__wbg_ptr, cause, effect);
|
|
4853
|
+
if (ret[2]) {
|
|
4854
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
4855
|
+
}
|
|
4856
|
+
return ret[0];
|
|
4857
|
+
}
|
|
4858
|
+
/**
|
|
4859
|
+
* Create a new VAR forecaster with the given lag order.
|
|
4860
|
+
*
|
|
4861
|
+
* @param order - Number of lags (p). Must be at least 1.
|
|
4862
|
+
* @param {number} order
|
|
4863
|
+
*/
|
|
4864
|
+
constructor(order) {
|
|
4865
|
+
const ret = wasm.varforecaster_new(order);
|
|
4866
|
+
this.__wbg_ptr = ret >>> 0;
|
|
4867
|
+
VARForecasterFinalization.register(this, this.__wbg_ptr, this);
|
|
4868
|
+
return this;
|
|
4869
|
+
}
|
|
4870
|
+
/**
|
|
4871
|
+
* Get the model name.
|
|
4872
|
+
* @returns {string}
|
|
4873
|
+
*/
|
|
4874
|
+
get name() {
|
|
4875
|
+
let deferred1_0;
|
|
4876
|
+
let deferred1_1;
|
|
4877
|
+
try {
|
|
4878
|
+
const ret = wasm.varforecaster_name(this.__wbg_ptr);
|
|
4879
|
+
deferred1_0 = ret[0];
|
|
4880
|
+
deferred1_1 = ret[1];
|
|
4881
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
4882
|
+
} finally {
|
|
4883
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
4884
|
+
}
|
|
4885
|
+
}
|
|
4886
|
+
/**
|
|
4887
|
+
* Get the lag order.
|
|
4888
|
+
* @returns {number}
|
|
4889
|
+
*/
|
|
4890
|
+
get order() {
|
|
4891
|
+
const ret = wasm.varforecaster_order(this.__wbg_ptr);
|
|
4892
|
+
return ret >>> 0;
|
|
4893
|
+
}
|
|
4894
|
+
}
|
|
4895
|
+
if (Symbol.dispose) VARForecaster.prototype[Symbol.dispose] = VARForecaster.prototype.free;
|
|
4896
|
+
|
|
4322
4897
|
/**
|
|
4323
4898
|
* Window Average forecaster - uses the last N observations.
|
|
4324
4899
|
*/
|
|
@@ -4990,10 +5565,32 @@ function __wbg_get_imports() {
|
|
|
4990
5565
|
const ret = arg0.getTime();
|
|
4991
5566
|
return ret;
|
|
4992
5567
|
};
|
|
5568
|
+
imports.wbg.__wbg_get_6b7bd52aca3f9671 = function(arg0, arg1) {
|
|
5569
|
+
const ret = arg0[arg1 >>> 0];
|
|
5570
|
+
return ret;
|
|
5571
|
+
};
|
|
5572
|
+
imports.wbg.__wbg_instanceof_Float64Array_9fefccd7bfa2fefe = function(arg0) {
|
|
5573
|
+
let result;
|
|
5574
|
+
try {
|
|
5575
|
+
result = arg0 instanceof Float64Array;
|
|
5576
|
+
} catch (_) {
|
|
5577
|
+
result = false;
|
|
5578
|
+
}
|
|
5579
|
+
const ret = result;
|
|
5580
|
+
return ret;
|
|
5581
|
+
};
|
|
4993
5582
|
imports.wbg.__wbg_length_22ac23eaec9d8053 = function(arg0) {
|
|
4994
5583
|
const ret = arg0.length;
|
|
4995
5584
|
return ret;
|
|
4996
5585
|
};
|
|
5586
|
+
imports.wbg.__wbg_length_406f6daaaa453057 = function(arg0) {
|
|
5587
|
+
const ret = arg0.length;
|
|
5588
|
+
return ret;
|
|
5589
|
+
};
|
|
5590
|
+
imports.wbg.__wbg_length_d45040a40c570362 = function(arg0) {
|
|
5591
|
+
const ret = arg0.length;
|
|
5592
|
+
return ret;
|
|
5593
|
+
};
|
|
4997
5594
|
imports.wbg.__wbg_msCrypto_a61aeb35a24c1329 = function(arg0) {
|
|
4998
5595
|
const ret = arg0.msCrypto;
|
|
4999
5596
|
return ret;
|
|
@@ -5014,6 +5611,14 @@ function __wbg_get_imports() {
|
|
|
5014
5611
|
const ret = new Function(getStringFromWasm0(arg0, arg1));
|
|
5015
5612
|
return ret;
|
|
5016
5613
|
};
|
|
5614
|
+
imports.wbg.__wbg_new_with_length_12c6de4fac33117a = function(arg0) {
|
|
5615
|
+
const ret = new Array(arg0 >>> 0);
|
|
5616
|
+
return ret;
|
|
5617
|
+
};
|
|
5618
|
+
imports.wbg.__wbg_new_with_length_806b9e5b8290af7c = function(arg0) {
|
|
5619
|
+
const ret = new Float64Array(arg0 >>> 0);
|
|
5620
|
+
return ret;
|
|
5621
|
+
};
|
|
5017
5622
|
imports.wbg.__wbg_new_with_length_aa5eaf41d35235e5 = function(arg0) {
|
|
5018
5623
|
const ret = new Uint8Array(arg0 >>> 0);
|
|
5019
5624
|
return ret;
|
|
@@ -5026,6 +5631,9 @@ function __wbg_get_imports() {
|
|
|
5026
5631
|
const ret = arg0.process;
|
|
5027
5632
|
return ret;
|
|
5028
5633
|
};
|
|
5634
|
+
imports.wbg.__wbg_prototypesetcall_d3c4edbb4ef96ca1 = function(arg0, arg1, arg2) {
|
|
5635
|
+
Float64Array.prototype.set.call(getArrayF64FromWasm0(arg0, arg1), arg2);
|
|
5636
|
+
};
|
|
5029
5637
|
imports.wbg.__wbg_prototypesetcall_dfe9b766cdc1f1fd = function(arg0, arg1, arg2) {
|
|
5030
5638
|
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
|
|
5031
5639
|
};
|
|
@@ -5036,6 +5644,9 @@ function __wbg_get_imports() {
|
|
|
5036
5644
|
const ret = module.require;
|
|
5037
5645
|
return ret;
|
|
5038
5646
|
}, arguments) };
|
|
5647
|
+
imports.wbg.__wbg_set_22933af9286a43df = function(arg0, arg1, arg2) {
|
|
5648
|
+
arg0.set(getArrayF64FromWasm0(arg1, arg2));
|
|
5649
|
+
};
|
|
5039
5650
|
imports.wbg.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {
|
|
5040
5651
|
arg0[arg1] = arg2;
|
|
5041
5652
|
};
|
|
Binary file
|
|
@@ -6,6 +6,7 @@ export const __wbg_arimaforecaster_free: (a: number, b: number) => void;
|
|
|
6
6
|
export const __wbg_autoarimaforecaster_free: (a: number, b: number) => void;
|
|
7
7
|
export const __wbg_autoensembleforecaster_free: (a: number, b: number) => void;
|
|
8
8
|
export const __wbg_autoetsforecaster_free: (a: number, b: number) => void;
|
|
9
|
+
export const __wbg_autoforecastbuilder_free: (a: number, b: number) => void;
|
|
9
10
|
export const __wbg_autoforecaster_free: (a: number, b: number) => void;
|
|
10
11
|
export const __wbg_autotbatsforecaster_free: (a: number, b: number) => void;
|
|
11
12
|
export const __wbg_autothetaforecaster_free: (a: number, b: number) => void;
|
|
@@ -25,12 +26,14 @@ export const __wbg_jsconformalpredictor_free: (a: number, b: number) => void;
|
|
|
25
26
|
export const __wbg_jsconformalresult_free: (a: number, b: number) => void;
|
|
26
27
|
export const __wbg_jshistoricalsimresult_free: (a: number, b: number) => void;
|
|
27
28
|
export const __wbg_jshistoricalsimulator_free: (a: number, b: number) => void;
|
|
29
|
+
export const __wbg_jsmodeldiagnostics_free: (a: number, b: number) => void;
|
|
28
30
|
export const __wbg_jsnormalpredictor_free: (a: number, b: number) => void;
|
|
29
31
|
export const __wbg_jsnormalresult_free: (a: number, b: number) => void;
|
|
30
32
|
export const __wbg_jspointforecasts_free: (a: number, b: number) => void;
|
|
31
33
|
export const __wbg_jspostprocessor_free: (a: number, b: number) => void;
|
|
32
34
|
export const __wbg_jspredictionintervals_free: (a: number, b: number) => void;
|
|
33
35
|
export const __wbg_jstrainedmodel_free: (a: number, b: number) => void;
|
|
36
|
+
export const __wbg_kalmanforecaster_free: (a: number, b: number) => void;
|
|
34
37
|
export const __wbg_meanforecaster_free: (a: number, b: number) => void;
|
|
35
38
|
export const __wbg_mflesforecaster_free: (a: number, b: number) => void;
|
|
36
39
|
export const __wbg_mstlforecasterwrapper_free: (a: number, b: number) => void;
|
|
@@ -42,10 +45,10 @@ export const __wbg_seasonalesforecaster_free: (a: number, b: number) => void;
|
|
|
42
45
|
export const __wbg_seasonalnaiveforecaster_free: (a: number, b: number) => void;
|
|
43
46
|
export const __wbg_seasonalwindowaverageforecaster_free: (a: number, b: number) => void;
|
|
44
47
|
export const __wbg_sesforecaster_free: (a: number, b: number) => void;
|
|
45
|
-
export const __wbg_smaforecaster_free: (a: number, b: number) => void;
|
|
46
48
|
export const __wbg_tbatsforecaster_free: (a: number, b: number) => void;
|
|
47
49
|
export const __wbg_thetaforecaster_free: (a: number, b: number) => void;
|
|
48
50
|
export const __wbg_timeseries_free: (a: number, b: number) => void;
|
|
51
|
+
export const __wbg_varforecaster_free: (a: number, b: number) => void;
|
|
49
52
|
export const adfTest: (a: number, b: number, c: number) => [number, number, number];
|
|
50
53
|
export const adidaforecaster_fit: (a: number, b: number) => [number, number];
|
|
51
54
|
export const adidaforecaster_name: (a: number) => [number, number];
|
|
@@ -80,6 +83,13 @@ export const autoetsforecaster_new: () => number;
|
|
|
80
83
|
export const autoetsforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
81
84
|
export const autoetsforecaster_withConfig: (a: number, b: number, c: number, d: number) => number;
|
|
82
85
|
export const autoetsforecaster_withPeriod: (a: number) => number;
|
|
86
|
+
export const autoforecastbuilder_build: (a: number) => number;
|
|
87
|
+
export const autoforecastbuilder_includeArima: (a: number, b: number) => number;
|
|
88
|
+
export const autoforecastbuilder_includeEts: (a: number, b: number) => number;
|
|
89
|
+
export const autoforecastbuilder_includeTheta: (a: number, b: number) => number;
|
|
90
|
+
export const autoforecastbuilder_new: () => number;
|
|
91
|
+
export const autoforecastbuilder_seasonalPeriod: (a: number, b: number) => number;
|
|
92
|
+
export const autoforecastbuilder_useCrossValidation: (a: number, b: number) => number;
|
|
83
93
|
export const autoforecaster_allScores: (a: number) => [number, number, number];
|
|
84
94
|
export const autoforecaster_fit: (a: number, b: number) => [number, number];
|
|
85
95
|
export const autoforecaster_name: (a: number) => [number, number];
|
|
@@ -137,7 +147,11 @@ export const ensembleforecaster_name: (a: number) => [number, number];
|
|
|
137
147
|
export const ensembleforecaster_new: (a: number, b: number) => [number, number, number];
|
|
138
148
|
export const ensembleforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
139
149
|
export const ensembleforecaster_predictWithIntervals: (a: number, b: number, c: number) => [number, number, number];
|
|
150
|
+
export const ensembleforecaster_setHorizonAdaptive: (a: number) => void;
|
|
151
|
+
export const ensembleforecaster_setInverseAic: (a: number) => void;
|
|
140
152
|
export const ensembleforecaster_setMedian: (a: number) => void;
|
|
153
|
+
export const ensembleforecaster_setMethod: (a: number, b: number, c: number) => [number, number];
|
|
154
|
+
export const ensembleforecaster_setStacking: (a: number, b: number) => void;
|
|
141
155
|
export const ensembleforecaster_setWeightedMse: (a: number) => void;
|
|
142
156
|
export const ensembleforecaster_setWeights: (a: number, b: number, c: number) => void;
|
|
143
157
|
export const etsforecaster_fit: (a: number, b: number) => [number, number];
|
|
@@ -146,10 +160,13 @@ export const etsforecaster_isValidSpec: (a: number, b: number, c: number, d: num
|
|
|
146
160
|
export const etsforecaster_name: (a: number) => [number, number];
|
|
147
161
|
export const etsforecaster_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
|
|
148
162
|
export const etsforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
163
|
+
export const forecast_clamp: (a: number, b: number, c: number) => number;
|
|
149
164
|
export const forecast_hasLower: (a: number) => number;
|
|
150
165
|
export const forecast_hasUpper: (a: number) => number;
|
|
151
166
|
export const forecast_horizon: (a: number) => number;
|
|
152
167
|
export const forecast_lower: (a: number) => [number, number];
|
|
168
|
+
export const forecast_nonNegative: (a: number) => number;
|
|
169
|
+
export const forecast_roundToInteger: (a: number) => number;
|
|
153
170
|
export const forecast_upper: (a: number) => [number, number];
|
|
154
171
|
export const forecast_values: (a: number) => [number, number];
|
|
155
172
|
export const garchforecaster_fit: (a: number, b: number) => [number, number];
|
|
@@ -199,11 +216,19 @@ export const jshistoricalsimulator_new: (a: number, b: number) => number;
|
|
|
199
216
|
export const jshistoricalsimulator_predictIntervals: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
200
217
|
export const jshistoricalsimulator_simulate: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
201
218
|
export const jshistoricalsimulator_withWindow: (a: number, b: number, c: number) => number;
|
|
219
|
+
export const jsmodeldiagnostics_fromResiduals: (a: number, b: number, c: number) => number;
|
|
220
|
+
export const jsmodeldiagnostics_jarqueBeraStatistic: (a: number) => number;
|
|
221
|
+
export const jsmodeldiagnostics_ljungBoxLags: (a: number) => number;
|
|
222
|
+
export const jsmodeldiagnostics_ljungBoxPvalue: (a: number) => number;
|
|
223
|
+
export const jsmodeldiagnostics_passesAll: (a: number) => number;
|
|
224
|
+
export const jsmodeldiagnostics_residualAcf: (a: number) => [number, number];
|
|
225
|
+
export const jsmodeldiagnostics_residualMean: (a: number) => number;
|
|
226
|
+
export const jsmodeldiagnostics_residualPacf: (a: number) => [number, number];
|
|
227
|
+
export const jsmodeldiagnostics_residualStd: (a: number) => number;
|
|
228
|
+
export const jsmodeldiagnostics_summary: (a: number) => [number, number];
|
|
202
229
|
export const jsnormalpredictor_fit: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
203
230
|
export const jsnormalpredictor_new: (a: number, b: number) => number;
|
|
204
231
|
export const jsnormalpredictor_predictIntervals: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
205
|
-
export const jsnormalresult_mean: (a: number) => number;
|
|
206
|
-
export const jsnormalresult_stdDev: (a: number) => number;
|
|
207
232
|
export const jspointforecasts_isEmpty: (a: number) => number;
|
|
208
233
|
export const jspointforecasts_length: (a: number) => number;
|
|
209
234
|
export const jspointforecasts_new: (a: number, b: number) => number;
|
|
@@ -219,6 +244,13 @@ export const jspredictionintervals_lower: (a: number) => [number, number];
|
|
|
219
244
|
export const jspredictionintervals_midpoints: (a: number) => [number, number];
|
|
220
245
|
export const jspredictionintervals_upper: (a: number) => [number, number];
|
|
221
246
|
export const jspredictionintervals_widths: (a: number) => [number, number];
|
|
247
|
+
export const kalmanforecaster_fit: (a: number, b: number) => [number, number];
|
|
248
|
+
export const kalmanforecaster_localLevel: (a: number, b: number) => number;
|
|
249
|
+
export const kalmanforecaster_localLinearTrend: (a: number, b: number, c: number) => number;
|
|
250
|
+
export const kalmanforecaster_name: (a: number) => [number, number];
|
|
251
|
+
export const kalmanforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
252
|
+
export const kalmanforecaster_predictWithIntervals: (a: number, b: number, c: number) => [number, number, number];
|
|
253
|
+
export const kalmanforecaster_smooth: (a: number, b: number) => [number, number, number, number];
|
|
222
254
|
export const kpssTest: (a: number, b: number, c: number) => [number, number, number];
|
|
223
255
|
export const kurtosis: (a: number, b: number) => number;
|
|
224
256
|
export const ljungBox: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
@@ -313,6 +345,12 @@ export const tsbforecaster_name: (a: number) => [number, number];
|
|
|
313
345
|
export const tsbforecaster_new: () => number;
|
|
314
346
|
export const tsbforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
315
347
|
export const tsbforecaster_predictWithIntervals: (a: number, b: number, c: number) => [number, number, number];
|
|
348
|
+
export const varforecaster_fitMultivariate: (a: number, b: any) => [number, number];
|
|
349
|
+
export const varforecaster_grangerCausalityTest: (a: number, b: number, c: number) => [number, number, number];
|
|
350
|
+
export const varforecaster_name: (a: number) => [number, number];
|
|
351
|
+
export const varforecaster_new: (a: number) => number;
|
|
352
|
+
export const varforecaster_order: (a: number) => number;
|
|
353
|
+
export const varforecaster_predictMultivariate: (a: number, b: number) => [number, number, number];
|
|
316
354
|
export const variance: (a: number, b: number) => number;
|
|
317
355
|
export const version: () => [number, number];
|
|
318
356
|
export const windowaverageforecaster_fit: (a: number, b: number) => [number, number];
|
|
@@ -320,8 +358,13 @@ export const windowaverageforecaster_name: (a: number) => [number, number];
|
|
|
320
358
|
export const windowaverageforecaster_new: (a: number) => number;
|
|
321
359
|
export const windowaverageforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
322
360
|
export const tbatsforecaster_withSeasonalPeriods: (a: number, b: number) => number;
|
|
361
|
+
export const __wbg_smaforecaster_free: (a: number, b: number) => void;
|
|
323
362
|
export const __wbg_tsbforecaster_free: (a: number, b: number) => void;
|
|
324
363
|
export const __wbg_windowaverageforecaster_free: (a: number, b: number) => void;
|
|
364
|
+
export const jsmodeldiagnostics_heteroscedasticityPvalue: (a: number) => number;
|
|
365
|
+
export const jsmodeldiagnostics_jarqueBeraPvalue: (a: number) => number;
|
|
366
|
+
export const jsnormalresult_mean: (a: number) => number;
|
|
367
|
+
export const jsnormalresult_stdDev: (a: number) => number;
|
|
325
368
|
export const jspredictionintervals_coverage: (a: number) => number;
|
|
326
369
|
export const __wbindgen_malloc: (a: number, b: number) => number;
|
|
327
370
|
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|