@sipemu/anofox-forecast 0.4.6 → 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 +1 -128
- package/anofox_forecast_js.d.ts +3 -403
- package/anofox_forecast_js.js +17 -883
- package/anofox_forecast_js_bg.wasm +0 -0
- package/anofox_forecast_js_bg.wasm.d.ts +3 -73
- 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
|
|
|
@@ -116,17 +116,6 @@ const ts = TimeSeries.withTimestamps(
|
|
|
116
116
|
| `AutoForecaster` | Best of ARIMA, ETS, Theta | - |
|
|
117
117
|
| `AutoEnsembleForecaster` | Ensemble of top-K models | - |
|
|
118
118
|
|
|
119
|
-
### Orchestration
|
|
120
|
-
|
|
121
|
-
| Type | Description |
|
|
122
|
-
|------|-------------|
|
|
123
|
-
| `JsDataProfile` | Automated data profiling (stationarity, trend, quality) |
|
|
124
|
-
| `JsPipelineBuilder` | Declarative pipeline construction |
|
|
125
|
-
| `JsPipelineResult` | Pipeline result with forecast and diagnostics |
|
|
126
|
-
| `JsPipelineReport` | Structured multi-section report |
|
|
127
|
-
| `selectModels()` | Model recommendation from data profile |
|
|
128
|
-
| `explainResult()` | Human-readable result explanation |
|
|
129
|
-
|
|
130
119
|
## Prediction Intervals
|
|
131
120
|
|
|
132
121
|
Most models support prediction intervals:
|
|
@@ -236,121 +225,6 @@ const pi = processor.predictIntervals(trained, newForecasts);
|
|
|
236
225
|
- `JsPostProcessor` — unified API wrapping all methods
|
|
237
226
|
- `JsBacktestConfig` / `JsBacktestResult` — rolling/expanding window backtesting
|
|
238
227
|
|
|
239
|
-
## Orchestration / Agent Forecasting
|
|
240
|
-
|
|
241
|
-
Build autonomous forecasting pipelines with data profiling, multi-metric model selection, preprocessing, ensemble construction, and structured reporting:
|
|
242
|
-
|
|
243
|
-
### Data Profiling
|
|
244
|
-
|
|
245
|
-
```javascript
|
|
246
|
-
import { JsDataProfile } from '@sipemu/anofox-forecast';
|
|
247
|
-
|
|
248
|
-
// Profile a time series
|
|
249
|
-
const profile = JsDataProfile.fromSeries(ts);
|
|
250
|
-
console.log('Observations:', profile.nObservations);
|
|
251
|
-
console.log('Trend:', profile.trendDirection); // "Rising", "Falling", "Flat"
|
|
252
|
-
console.log('Stationary?', profile.isStationary);
|
|
253
|
-
console.log('Intermittent?', profile.isIntermittent);
|
|
254
|
-
console.log('Quality:', profile.qualityScore); // 0.0 to 1.0
|
|
255
|
-
|
|
256
|
-
// Full profile as JSON
|
|
257
|
-
const json = profile.toJSON();
|
|
258
|
-
|
|
259
|
-
// Profile raw values (no timestamps needed)
|
|
260
|
-
const profile2 = JsDataProfile.fromValues(new Float64Array([1, 2, 3, 4, 5]));
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### Model Selection
|
|
264
|
-
|
|
265
|
-
```javascript
|
|
266
|
-
import { JsDataProfile, selectModels } from '@sipemu/anofox-forecast';
|
|
267
|
-
|
|
268
|
-
const profile = JsDataProfile.fromSeries(ts);
|
|
269
|
-
|
|
270
|
-
// Get model recommendations based on data characteristics
|
|
271
|
-
const result = selectModels(profile);
|
|
272
|
-
console.log('Recommended:', result.recommended); // ["ARIMA", "ETS", "Naive", "SES"]
|
|
273
|
-
console.log('Reasoning:', result.reasoning); // ["High autocorrelation...", ...]
|
|
274
|
-
|
|
275
|
-
// Filter to available models
|
|
276
|
-
const filtered = selectModels(profile, ["Naive", "SES", "ARIMA"]);
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
### Pipeline Builder
|
|
280
|
-
|
|
281
|
-
```javascript
|
|
282
|
-
import { JsPipelineBuilder } from '@sipemu/anofox-forecast';
|
|
283
|
-
|
|
284
|
-
// Build and execute a forecasting pipeline
|
|
285
|
-
const result = new JsPipelineBuilder()
|
|
286
|
-
.profile() // enable data profiling
|
|
287
|
-
.preprocess('auto') // auto Box-Cox + outlier treatment
|
|
288
|
-
.metric('auto') // data-aware metric selection
|
|
289
|
-
.ensemble('auto') // ensemble if MCS includes > 1 model
|
|
290
|
-
.addModel('Naive')
|
|
291
|
-
.addModel('SES')
|
|
292
|
-
.addModel('SMA')
|
|
293
|
-
.withFallback() // Naive → SMA fallback chain
|
|
294
|
-
.nonNegative() // clamp forecasts >= 0
|
|
295
|
-
.execute(ts, 12); // 12-step forecast
|
|
296
|
-
|
|
297
|
-
console.log('Model:', result.modelName);
|
|
298
|
-
console.log('Forecast:', result.forecast.values);
|
|
299
|
-
console.log('Decision log:', result.decisionLog);
|
|
300
|
-
|
|
301
|
-
// Access diagnostics
|
|
302
|
-
const profile = result.profile; // JsDataProfile or undefined
|
|
303
|
-
const mcs = result.modelConfidenceSet; // { included, pValue, singleWinner }
|
|
304
|
-
const scores = result.metricScores; // [{ model, score, components }]
|
|
305
|
-
const weights = result.ensembleWeights; // [{ model, weight }] or undefined
|
|
306
|
-
const preprocess = result.preprocessInfo; // { boxcoxLambda, outliersReplaced, stepsApplied }
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
#### Builder Options
|
|
310
|
-
|
|
311
|
-
| Method | Options | Description |
|
|
312
|
-
|--------|---------|-------------|
|
|
313
|
-
| `profile()` | — | Enable data profiling |
|
|
314
|
-
| `preprocess(mode)` | `"auto"`, `"none"` | Preprocessing (Box-Cox, outlier replacement) |
|
|
315
|
-
| `metric(strategy)` | `"auto"`, `"mae"`, `"mse"`, `"rmse"`, `"smape"`, `"wape"`, `"mda"` | Metric for model ranking |
|
|
316
|
-
| `ensemble(mode)` | `"auto"`, `"none"`, `"mean"`, `"median"`, `"weighted"` | Ensemble construction |
|
|
317
|
-
| `addModel(name)` | `"Naive"`, `"SES"`, `"SMA"`, `"SMA3"`, `"SMA5"`, `"SMA10"`, `"SeasonalNaive"` | Register a model |
|
|
318
|
-
| `addSeasonalModel(name, period)` | — | Register a seasonal model |
|
|
319
|
-
| `selectModels(k)` | — | Select top-K models |
|
|
320
|
-
| `crossValidate(folds, horizon)` | — | Enable cross-validation |
|
|
321
|
-
| `withFallback()` | — | Enable fallback chain |
|
|
322
|
-
| `nonNegative()` | — | Clamp forecasts to non-negative |
|
|
323
|
-
| `seasonalPeriod(p)` | — | Set seasonal period hint |
|
|
324
|
-
|
|
325
|
-
### Pipeline Report
|
|
326
|
-
|
|
327
|
-
```javascript
|
|
328
|
-
// Generate a structured report
|
|
329
|
-
const report = result.report();
|
|
330
|
-
console.log(report.title); // "Pipeline Report: SES"
|
|
331
|
-
console.log(report.sectionCount); // number of sections
|
|
332
|
-
console.log(report.toString()); // full formatted text
|
|
333
|
-
|
|
334
|
-
// Report as JSON with typed sections
|
|
335
|
-
const json = report.toJSON();
|
|
336
|
-
// { title, sections: [{ heading, content: { type, ... } }] }
|
|
337
|
-
// Content types: "text", "keyValue" (with pairs), "table" (with headers + rows)
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
### Explain Result
|
|
341
|
-
|
|
342
|
-
```javascript
|
|
343
|
-
import { explainResult } from '@sipemu/anofox-forecast';
|
|
344
|
-
|
|
345
|
-
// Generate a human-readable explanation
|
|
346
|
-
const brief = explainResult(result, 'brief');
|
|
347
|
-
console.log(brief.summary); // "Selected SES for 12-step forecast."
|
|
348
|
-
|
|
349
|
-
const detailed = explainResult(result, 'detailed');
|
|
350
|
-
console.log(detailed.summary);
|
|
351
|
-
detailed.sections.forEach(s => console.log(s.heading, s.content));
|
|
352
|
-
```
|
|
353
|
-
|
|
354
228
|
## Calendar Annotations
|
|
355
229
|
|
|
356
230
|
Add holidays and named regressors for models that support exogenous variables:
|
|
@@ -408,7 +282,6 @@ const forecast = model.predict(10);
|
|
|
408
282
|
|
|
409
283
|
- The `parallel` feature from the Rust crate is not available in WASM
|
|
410
284
|
- IDR (Isotonic Distributional Regression) and QRA are not yet exposed in WASM
|
|
411
|
-
- Abstract storage (`PipelineStore`) is not exposed — use the report JSON output for persistence
|
|
412
285
|
|
|
413
286
|
## License
|
|
414
287
|
|
package/anofox_forecast_js.d.ts
CHANGED
|
@@ -737,150 +737,6 @@ export class JsConformalResult {
|
|
|
737
737
|
readonly coverage: number;
|
|
738
738
|
}
|
|
739
739
|
|
|
740
|
-
export class JsDataProfile {
|
|
741
|
-
private constructor();
|
|
742
|
-
free(): void;
|
|
743
|
-
[Symbol.dispose](): void;
|
|
744
|
-
/**
|
|
745
|
-
* Profile a time series.
|
|
746
|
-
*
|
|
747
|
-
* @param series - TimeSeries to profile
|
|
748
|
-
* @returns A comprehensive data profile
|
|
749
|
-
*/
|
|
750
|
-
static fromSeries(series: TimeSeries): JsDataProfile;
|
|
751
|
-
/**
|
|
752
|
-
* Profile raw values (without timestamps).
|
|
753
|
-
*
|
|
754
|
-
* @param values - Array of numeric values
|
|
755
|
-
* @returns A data profile
|
|
756
|
-
*/
|
|
757
|
-
static fromValues(values: Float64Array): JsDataProfile;
|
|
758
|
-
/**
|
|
759
|
-
* Full profile as a formatted string.
|
|
760
|
-
*/
|
|
761
|
-
toString(): string;
|
|
762
|
-
/**
|
|
763
|
-
* Human-readable summary string.
|
|
764
|
-
*/
|
|
765
|
-
summary(): string;
|
|
766
|
-
/**
|
|
767
|
-
* Profile as a JSON-serializable object.
|
|
768
|
-
*/
|
|
769
|
-
toJSON(): any;
|
|
770
|
-
/**
|
|
771
|
-
* Whether every finite value is integer-valued.
|
|
772
|
-
*/
|
|
773
|
-
readonly isInteger: boolean;
|
|
774
|
-
/**
|
|
775
|
-
* Lempel-Ziv complexity (normalized).
|
|
776
|
-
*/
|
|
777
|
-
readonly lempelZiv: number;
|
|
778
|
-
/**
|
|
779
|
-
* ADF p-value.
|
|
780
|
-
*/
|
|
781
|
-
readonly adfPValue: number;
|
|
782
|
-
/**
|
|
783
|
-
* Slope of the linear trend.
|
|
784
|
-
*/
|
|
785
|
-
readonly trendSlope: number;
|
|
786
|
-
/**
|
|
787
|
-
* KPSS p-value.
|
|
788
|
-
*/
|
|
789
|
-
readonly kpssPValue: number;
|
|
790
|
-
/**
|
|
791
|
-
* ADF test statistic.
|
|
792
|
-
*/
|
|
793
|
-
readonly adfStatistic: number;
|
|
794
|
-
/**
|
|
795
|
-
* Whether any value is negative.
|
|
796
|
-
*/
|
|
797
|
-
readonly hasNegatives: boolean;
|
|
798
|
-
/**
|
|
799
|
-
* Combined stationarity (ADF stationary AND KPSS stationary).
|
|
800
|
-
*/
|
|
801
|
-
readonly isStationary: boolean;
|
|
802
|
-
/**
|
|
803
|
-
* Count of NaN or infinite values.
|
|
804
|
-
*/
|
|
805
|
-
readonly missingCount: number;
|
|
806
|
-
/**
|
|
807
|
-
* Heuristic data-quality score in [0.0, 1.0].
|
|
808
|
-
*/
|
|
809
|
-
readonly qualityScore: number;
|
|
810
|
-
/**
|
|
811
|
-
* Fraction of values that are exactly zero.
|
|
812
|
-
*/
|
|
813
|
-
readonly zeroFraction: number;
|
|
814
|
-
/**
|
|
815
|
-
* KPSS test statistic.
|
|
816
|
-
*/
|
|
817
|
-
readonly kpssStatistic: number;
|
|
818
|
-
/**
|
|
819
|
-
* Number of observations.
|
|
820
|
-
*/
|
|
821
|
-
readonly nObservations: number;
|
|
822
|
-
/**
|
|
823
|
-
* Trend strength (R-squared, 0.0 to 1.0).
|
|
824
|
-
*/
|
|
825
|
-
readonly trendStrength: number;
|
|
826
|
-
/**
|
|
827
|
-
* Whether the series is classified as intermittent.
|
|
828
|
-
*/
|
|
829
|
-
readonly isIntermittent: boolean;
|
|
830
|
-
/**
|
|
831
|
-
* Trend direction: "Rising", "Falling", or "Flat".
|
|
832
|
-
*/
|
|
833
|
-
readonly trendDirection: string;
|
|
834
|
-
/**
|
|
835
|
-
* Partial autocorrelation at lag 1.
|
|
836
|
-
*/
|
|
837
|
-
readonly partialAcfLag1: number;
|
|
838
|
-
/**
|
|
839
|
-
* Whether ADF concludes stationarity at 5%.
|
|
840
|
-
*/
|
|
841
|
-
readonly adfIsStationary: boolean;
|
|
842
|
-
/**
|
|
843
|
-
* Whether KPSS concludes stationarity at 5%.
|
|
844
|
-
*/
|
|
845
|
-
readonly kpssIsStationary: boolean;
|
|
846
|
-
/**
|
|
847
|
-
* Approximate entropy (undefined if series is too short).
|
|
848
|
-
*/
|
|
849
|
-
readonly approximateEntropy: number | undefined;
|
|
850
|
-
/**
|
|
851
|
-
* Maximum value.
|
|
852
|
-
*/
|
|
853
|
-
readonly max: number;
|
|
854
|
-
/**
|
|
855
|
-
* Minimum value.
|
|
856
|
-
*/
|
|
857
|
-
readonly min: number;
|
|
858
|
-
/**
|
|
859
|
-
* Arithmetic mean.
|
|
860
|
-
*/
|
|
861
|
-
readonly mean: number;
|
|
862
|
-
/**
|
|
863
|
-
* Standard deviation.
|
|
864
|
-
*/
|
|
865
|
-
readonly stdDev: number;
|
|
866
|
-
/**
|
|
867
|
-
* Autocorrelation at lag 1.
|
|
868
|
-
*/
|
|
869
|
-
readonly acfLag1: number;
|
|
870
|
-
/**
|
|
871
|
-
* Autocorrelation at lag 2.
|
|
872
|
-
*/
|
|
873
|
-
readonly acfLag2: number;
|
|
874
|
-
/**
|
|
875
|
-
* Excess kurtosis.
|
|
876
|
-
*/
|
|
877
|
-
readonly kurtosis: number;
|
|
878
|
-
/**
|
|
879
|
-
* Skewness.
|
|
880
|
-
*/
|
|
881
|
-
readonly skewness: number;
|
|
882
|
-
}
|
|
883
|
-
|
|
884
740
|
export class JsHistoricalSimResult {
|
|
885
741
|
private constructor();
|
|
886
742
|
free(): void;
|
|
@@ -1025,173 +881,6 @@ export class JsNormalResult {
|
|
|
1025
881
|
readonly mean: number;
|
|
1026
882
|
}
|
|
1027
883
|
|
|
1028
|
-
export class JsPipelineBuilder {
|
|
1029
|
-
free(): void;
|
|
1030
|
-
[Symbol.dispose](): void;
|
|
1031
|
-
/**
|
|
1032
|
-
* Set preprocessing mode.
|
|
1033
|
-
*
|
|
1034
|
-
* @param mode - "auto", "none", or "manual"
|
|
1035
|
-
*/
|
|
1036
|
-
preprocess(mode: string): JsPipelineBuilder;
|
|
1037
|
-
/**
|
|
1038
|
-
* Apply non-negative constraint to forecasts.
|
|
1039
|
-
*/
|
|
1040
|
-
nonNegative(): JsPipelineBuilder;
|
|
1041
|
-
/**
|
|
1042
|
-
* Select top-K models for evaluation.
|
|
1043
|
-
*
|
|
1044
|
-
* @param k - Number of models to select
|
|
1045
|
-
*/
|
|
1046
|
-
selectModels(k: number): JsPipelineBuilder;
|
|
1047
|
-
/**
|
|
1048
|
-
* Enable fallback chain (Naive → SMA).
|
|
1049
|
-
*/
|
|
1050
|
-
withFallback(): JsPipelineBuilder;
|
|
1051
|
-
/**
|
|
1052
|
-
* Enable cross-validation.
|
|
1053
|
-
*
|
|
1054
|
-
* @param folds - Number of CV folds
|
|
1055
|
-
* @param horizon - Forecast horizon for each fold
|
|
1056
|
-
*/
|
|
1057
|
-
crossValidate(folds: number, horizon: number): JsPipelineBuilder;
|
|
1058
|
-
/**
|
|
1059
|
-
* Set the seasonal period hint.
|
|
1060
|
-
*
|
|
1061
|
-
* @param period - Seasonal period (e.g., 12 for monthly data)
|
|
1062
|
-
*/
|
|
1063
|
-
seasonalPeriod(period: number): JsPipelineBuilder;
|
|
1064
|
-
/**
|
|
1065
|
-
* Add a seasonal model to the pipeline.
|
|
1066
|
-
*
|
|
1067
|
-
* @param name - Model name (e.g., "SeasonalNaive")
|
|
1068
|
-
* @param period - Seasonal period
|
|
1069
|
-
*/
|
|
1070
|
-
addSeasonalModel(name: string, period: number): JsPipelineBuilder;
|
|
1071
|
-
/**
|
|
1072
|
-
* Create a new pipeline builder.
|
|
1073
|
-
*/
|
|
1074
|
-
constructor();
|
|
1075
|
-
/**
|
|
1076
|
-
* Set the metric strategy for model selection.
|
|
1077
|
-
*
|
|
1078
|
-
* @param strategy - "auto", "mae", "mse", "rmse", "smape", "wape", or "mda"
|
|
1079
|
-
*/
|
|
1080
|
-
metric(strategy: string): JsPipelineBuilder;
|
|
1081
|
-
/**
|
|
1082
|
-
* Build and execute the pipeline.
|
|
1083
|
-
*
|
|
1084
|
-
* @param series - TimeSeries to forecast
|
|
1085
|
-
* @param horizon - Number of steps to forecast
|
|
1086
|
-
* @returns JsPipelineResult with forecast, profile, and diagnostics
|
|
1087
|
-
*/
|
|
1088
|
-
execute(series: TimeSeries, horizon: number): JsPipelineResult;
|
|
1089
|
-
/**
|
|
1090
|
-
* Enable data profiling.
|
|
1091
|
-
*/
|
|
1092
|
-
profile(): JsPipelineBuilder;
|
|
1093
|
-
/**
|
|
1094
|
-
* Set the ensemble mode.
|
|
1095
|
-
*
|
|
1096
|
-
* @param mode - "auto", "none", "mean", "median", or "weighted"
|
|
1097
|
-
*/
|
|
1098
|
-
ensemble(mode: string): JsPipelineBuilder;
|
|
1099
|
-
/**
|
|
1100
|
-
* Add a built-in model to the pipeline.
|
|
1101
|
-
*
|
|
1102
|
-
* Supported models: "Naive", "SES", "SMA", "SMA5", "SMA10"
|
|
1103
|
-
*
|
|
1104
|
-
* @param name - Model name
|
|
1105
|
-
*/
|
|
1106
|
-
addModel(name: string): JsPipelineBuilder;
|
|
1107
|
-
}
|
|
1108
|
-
|
|
1109
|
-
export class JsPipelineReport {
|
|
1110
|
-
private constructor();
|
|
1111
|
-
free(): void;
|
|
1112
|
-
[Symbol.dispose](): void;
|
|
1113
|
-
/**
|
|
1114
|
-
* Get the full report as formatted text.
|
|
1115
|
-
*/
|
|
1116
|
-
toString(): string;
|
|
1117
|
-
/**
|
|
1118
|
-
* Get a section heading by index.
|
|
1119
|
-
*/
|
|
1120
|
-
sectionHeading(index: number): string | undefined;
|
|
1121
|
-
/**
|
|
1122
|
-
* Get the report as a JSON object.
|
|
1123
|
-
*
|
|
1124
|
-
* Returns `{ title, sections: [{ heading, content }] }`.
|
|
1125
|
-
*/
|
|
1126
|
-
toJSON(): any;
|
|
1127
|
-
/**
|
|
1128
|
-
* Get the number of sections.
|
|
1129
|
-
*/
|
|
1130
|
-
readonly sectionCount: number;
|
|
1131
|
-
/**
|
|
1132
|
-
* Get the report title.
|
|
1133
|
-
*/
|
|
1134
|
-
readonly title: string;
|
|
1135
|
-
}
|
|
1136
|
-
|
|
1137
|
-
export class JsPipelineResult {
|
|
1138
|
-
private constructor();
|
|
1139
|
-
free(): void;
|
|
1140
|
-
[Symbol.dispose](): void;
|
|
1141
|
-
/**
|
|
1142
|
-
* Get a human-readable summary of the result.
|
|
1143
|
-
*/
|
|
1144
|
-
toString(): string;
|
|
1145
|
-
/**
|
|
1146
|
-
* Generate a full structured report.
|
|
1147
|
-
*/
|
|
1148
|
-
report(): JsPipelineReport;
|
|
1149
|
-
/**
|
|
1150
|
-
* Get the name of the selected model.
|
|
1151
|
-
*/
|
|
1152
|
-
readonly modelName: string;
|
|
1153
|
-
/**
|
|
1154
|
-
* Get the decision log as a formatted string.
|
|
1155
|
-
*/
|
|
1156
|
-
readonly decisionLog: string;
|
|
1157
|
-
/**
|
|
1158
|
-
* Get metric scores as JSON (undefined if not computed).
|
|
1159
|
-
*/
|
|
1160
|
-
readonly metricScores: any;
|
|
1161
|
-
/**
|
|
1162
|
-
* Get quality floor result (undefined if not computed).
|
|
1163
|
-
*/
|
|
1164
|
-
readonly qualityFloor: string | undefined;
|
|
1165
|
-
/**
|
|
1166
|
-
* Get the number of decisions in the log.
|
|
1167
|
-
*/
|
|
1168
|
-
readonly decisionCount: number;
|
|
1169
|
-
/**
|
|
1170
|
-
* Get preprocessing info (undefined if not applied).
|
|
1171
|
-
*/
|
|
1172
|
-
readonly preprocessInfo: any;
|
|
1173
|
-
/**
|
|
1174
|
-
* Get ensemble weights as JSON (undefined if not an ensemble).
|
|
1175
|
-
*/
|
|
1176
|
-
readonly ensembleWeights: any;
|
|
1177
|
-
/**
|
|
1178
|
-
* Get model confidence set (undefined if not computed).
|
|
1179
|
-
*/
|
|
1180
|
-
readonly modelConfidenceSet: any;
|
|
1181
|
-
/**
|
|
1182
|
-
* Get selection confidence (undefined if not computed).
|
|
1183
|
-
*/
|
|
1184
|
-
readonly selectionConfidence: string | undefined;
|
|
1185
|
-
/**
|
|
1186
|
-
* Get the data profile (undefined if profiling was not enabled).
|
|
1187
|
-
*/
|
|
1188
|
-
readonly profile: JsDataProfile | undefined;
|
|
1189
|
-
/**
|
|
1190
|
-
* Get the forecast.
|
|
1191
|
-
*/
|
|
1192
|
-
readonly forecast: Forecast;
|
|
1193
|
-
}
|
|
1194
|
-
|
|
1195
884
|
export class JsPointForecasts {
|
|
1196
885
|
free(): void;
|
|
1197
886
|
[Symbol.dispose](): void;
|
|
@@ -1804,15 +1493,6 @@ export function diagnoseResiduals(residuals: Float64Array, fitted_params?: numbe
|
|
|
1804
1493
|
*/
|
|
1805
1494
|
export function durbinWatson(residuals: Float64Array): any;
|
|
1806
1495
|
|
|
1807
|
-
/**
|
|
1808
|
-
* Generate a human-readable explanation of a pipeline result.
|
|
1809
|
-
*
|
|
1810
|
-
* @param result - A JsPipelineResult to explain
|
|
1811
|
-
* @param verbosity - "brief", "normal", or "detailed"
|
|
1812
|
-
* @returns Object with `summary` and `sections`
|
|
1813
|
-
*/
|
|
1814
|
-
export function explainResult(result: JsPipelineResult, verbosity: string): any;
|
|
1815
|
-
|
|
1816
1496
|
/**
|
|
1817
1497
|
* Initialize the WASM module.
|
|
1818
1498
|
*
|
|
@@ -1916,16 +1596,6 @@ export function partialAutocorrelation(values: Float64Array, lag: number): numbe
|
|
|
1916
1596
|
*/
|
|
1917
1597
|
export function sampleEntropy(values: Float64Array, m: number, r: number): number;
|
|
1918
1598
|
|
|
1919
|
-
/**
|
|
1920
|
-
* Recommend models based on data profile characteristics.
|
|
1921
|
-
*
|
|
1922
|
-
* Returns an object with `recommended` (model names) and `reasoning` (explanations).
|
|
1923
|
-
*
|
|
1924
|
-
* @param profile - A JsDataProfile from profiling
|
|
1925
|
-
* @param availableModels - Optional array of model names to filter by
|
|
1926
|
-
*/
|
|
1927
|
-
export function selectModels(profile: JsDataProfile, available_models?: string[] | null): any;
|
|
1928
|
-
|
|
1929
1599
|
/**
|
|
1930
1600
|
* Compute the skewness (third standardized moment) of a time series.
|
|
1931
1601
|
*
|
|
@@ -1990,15 +1660,11 @@ export interface InitOutput {
|
|
|
1990
1660
|
readonly __wbg_jsbacktestresult_free: (a: number, b: number) => void;
|
|
1991
1661
|
readonly __wbg_jsconformalpredictor_free: (a: number, b: number) => void;
|
|
1992
1662
|
readonly __wbg_jsconformalresult_free: (a: number, b: number) => void;
|
|
1993
|
-
readonly __wbg_jsdataprofile_free: (a: number, b: number) => void;
|
|
1994
1663
|
readonly __wbg_jshistoricalsimresult_free: (a: number, b: number) => void;
|
|
1995
1664
|
readonly __wbg_jshistoricalsimulator_free: (a: number, b: number) => void;
|
|
1996
1665
|
readonly __wbg_jsmodeldiagnostics_free: (a: number, b: number) => void;
|
|
1997
1666
|
readonly __wbg_jsnormalpredictor_free: (a: number, b: number) => void;
|
|
1998
1667
|
readonly __wbg_jsnormalresult_free: (a: number, b: number) => void;
|
|
1999
|
-
readonly __wbg_jspipelinebuilder_free: (a: number, b: number) => void;
|
|
2000
|
-
readonly __wbg_jspipelinereport_free: (a: number, b: number) => void;
|
|
2001
|
-
readonly __wbg_jspipelineresult_free: (a: number, b: number) => void;
|
|
2002
1668
|
readonly __wbg_jspointforecasts_free: (a: number, b: number) => void;
|
|
2003
1669
|
readonly __wbg_jspostprocessor_free: (a: number, b: number) => void;
|
|
2004
1670
|
readonly __wbg_jspredictionintervals_free: (a: number, b: number) => void;
|
|
@@ -2015,7 +1681,6 @@ export interface InitOutput {
|
|
|
2015
1681
|
readonly __wbg_seasonalnaiveforecaster_free: (a: number, b: number) => void;
|
|
2016
1682
|
readonly __wbg_seasonalwindowaverageforecaster_free: (a: number, b: number) => void;
|
|
2017
1683
|
readonly __wbg_sesforecaster_free: (a: number, b: number) => void;
|
|
2018
|
-
readonly __wbg_smaforecaster_free: (a: number, b: number) => void;
|
|
2019
1684
|
readonly __wbg_tbatsforecaster_free: (a: number, b: number) => void;
|
|
2020
1685
|
readonly __wbg_thetaforecaster_free: (a: number, b: number) => void;
|
|
2021
1686
|
readonly __wbg_timeseries_free: (a: number, b: number) => void;
|
|
@@ -2131,7 +1796,6 @@ export interface InitOutput {
|
|
|
2131
1796
|
readonly etsforecaster_name: (a: number) => [number, number];
|
|
2132
1797
|
readonly etsforecaster_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
|
|
2133
1798
|
readonly etsforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
2134
|
-
readonly explainResult: (a: number, b: number, c: number) => [number, number, number];
|
|
2135
1799
|
readonly forecast_clamp: (a: number, b: number, c: number) => number;
|
|
2136
1800
|
readonly forecast_hasLower: (a: number) => number;
|
|
2137
1801
|
readonly forecast_hasUpper: (a: number) => number;
|
|
@@ -2182,37 +1846,6 @@ export interface InitOutput {
|
|
|
2182
1846
|
readonly jsconformalresult_coverage: (a: number) => number;
|
|
2183
1847
|
readonly jsconformalresult_quantileValue: (a: number) => number;
|
|
2184
1848
|
readonly jsconformalresult_scores: (a: number) => [number, number];
|
|
2185
|
-
readonly jsdataprofile_acfLag1: (a: number) => number;
|
|
2186
|
-
readonly jsdataprofile_acfLag2: (a: number) => number;
|
|
2187
|
-
readonly jsdataprofile_adfIsStationary: (a: number) => number;
|
|
2188
|
-
readonly jsdataprofile_adfPValue: (a: number) => number;
|
|
2189
|
-
readonly jsdataprofile_adfStatistic: (a: number) => number;
|
|
2190
|
-
readonly jsdataprofile_approximateEntropy: (a: number) => [number, number];
|
|
2191
|
-
readonly jsdataprofile_fromSeries: (a: number) => number;
|
|
2192
|
-
readonly jsdataprofile_fromValues: (a: number, b: number) => number;
|
|
2193
|
-
readonly jsdataprofile_hasNegatives: (a: number) => number;
|
|
2194
|
-
readonly jsdataprofile_isInteger: (a: number) => number;
|
|
2195
|
-
readonly jsdataprofile_isIntermittent: (a: number) => number;
|
|
2196
|
-
readonly jsdataprofile_isStationary: (a: number) => number;
|
|
2197
|
-
readonly jsdataprofile_kpssIsStationary: (a: number) => number;
|
|
2198
|
-
readonly jsdataprofile_kpssPValue: (a: number) => number;
|
|
2199
|
-
readonly jsdataprofile_kpssStatistic: (a: number) => number;
|
|
2200
|
-
readonly jsdataprofile_kurtosis: (a: number) => number;
|
|
2201
|
-
readonly jsdataprofile_lempelZiv: (a: number) => number;
|
|
2202
|
-
readonly jsdataprofile_max: (a: number) => number;
|
|
2203
|
-
readonly jsdataprofile_min: (a: number) => number;
|
|
2204
|
-
readonly jsdataprofile_missingCount: (a: number) => number;
|
|
2205
|
-
readonly jsdataprofile_nObservations: (a: number) => number;
|
|
2206
|
-
readonly jsdataprofile_partialAcfLag1: (a: number) => number;
|
|
2207
|
-
readonly jsdataprofile_qualityScore: (a: number) => number;
|
|
2208
|
-
readonly jsdataprofile_skewness: (a: number) => number;
|
|
2209
|
-
readonly jsdataprofile_summary: (a: number) => [number, number];
|
|
2210
|
-
readonly jsdataprofile_toJSON: (a: number) => [number, number, number];
|
|
2211
|
-
readonly jsdataprofile_toString: (a: number) => [number, number];
|
|
2212
|
-
readonly jsdataprofile_trendDirection: (a: number) => [number, number];
|
|
2213
|
-
readonly jsdataprofile_trendSlope: (a: number) => number;
|
|
2214
|
-
readonly jsdataprofile_trendStrength: (a: number) => number;
|
|
2215
|
-
readonly jsdataprofile_zeroFraction: (a: number) => number;
|
|
2216
1849
|
readonly jshistoricalsimresult_errors: (a: number) => [number, number];
|
|
2217
1850
|
readonly jshistoricalsimresult_quantileValues: (a: number) => [number, number];
|
|
2218
1851
|
readonly jshistoricalsimulator_new: (a: number, b: number) => number;
|
|
@@ -2225,42 +1858,13 @@ export interface InitOutput {
|
|
|
2225
1858
|
readonly jsmodeldiagnostics_ljungBoxPvalue: (a: number) => number;
|
|
2226
1859
|
readonly jsmodeldiagnostics_passesAll: (a: number) => number;
|
|
2227
1860
|
readonly jsmodeldiagnostics_residualAcf: (a: number) => [number, number];
|
|
1861
|
+
readonly jsmodeldiagnostics_residualMean: (a: number) => number;
|
|
2228
1862
|
readonly jsmodeldiagnostics_residualPacf: (a: number) => [number, number];
|
|
1863
|
+
readonly jsmodeldiagnostics_residualStd: (a: number) => number;
|
|
2229
1864
|
readonly jsmodeldiagnostics_summary: (a: number) => [number, number];
|
|
2230
1865
|
readonly jsnormalpredictor_fit: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
2231
1866
|
readonly jsnormalpredictor_new: (a: number, b: number) => number;
|
|
2232
1867
|
readonly jsnormalpredictor_predictIntervals: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
2233
|
-
readonly jspipelinebuilder_addModel: (a: number, b: number, c: number) => number;
|
|
2234
|
-
readonly jspipelinebuilder_addSeasonalModel: (a: number, b: number, c: number, d: number) => number;
|
|
2235
|
-
readonly jspipelinebuilder_crossValidate: (a: number, b: number, c: number) => number;
|
|
2236
|
-
readonly jspipelinebuilder_ensemble: (a: number, b: number, c: number) => number;
|
|
2237
|
-
readonly jspipelinebuilder_execute: (a: number, b: number, c: number) => [number, number, number];
|
|
2238
|
-
readonly jspipelinebuilder_metric: (a: number, b: number, c: number) => number;
|
|
2239
|
-
readonly jspipelinebuilder_new: () => number;
|
|
2240
|
-
readonly jspipelinebuilder_nonNegative: (a: number) => number;
|
|
2241
|
-
readonly jspipelinebuilder_preprocess: (a: number, b: number, c: number) => number;
|
|
2242
|
-
readonly jspipelinebuilder_profile: (a: number) => number;
|
|
2243
|
-
readonly jspipelinebuilder_seasonalPeriod: (a: number, b: number) => number;
|
|
2244
|
-
readonly jspipelinebuilder_selectModels: (a: number, b: number) => number;
|
|
2245
|
-
readonly jspipelinebuilder_withFallback: (a: number) => number;
|
|
2246
|
-
readonly jspipelinereport_sectionCount: (a: number) => number;
|
|
2247
|
-
readonly jspipelinereport_sectionHeading: (a: number, b: number) => [number, number];
|
|
2248
|
-
readonly jspipelinereport_title: (a: number) => [number, number];
|
|
2249
|
-
readonly jspipelinereport_toJSON: (a: number) => [number, number, number];
|
|
2250
|
-
readonly jspipelinereport_toString: (a: number) => [number, number];
|
|
2251
|
-
readonly jspipelineresult_decisionCount: (a: number) => number;
|
|
2252
|
-
readonly jspipelineresult_decisionLog: (a: number) => [number, number];
|
|
2253
|
-
readonly jspipelineresult_ensembleWeights: (a: number) => [number, number, number];
|
|
2254
|
-
readonly jspipelineresult_forecast: (a: number) => number;
|
|
2255
|
-
readonly jspipelineresult_metricScores: (a: number) => [number, number, number];
|
|
2256
|
-
readonly jspipelineresult_modelConfidenceSet: (a: number) => [number, number, number];
|
|
2257
|
-
readonly jspipelineresult_modelName: (a: number) => [number, number];
|
|
2258
|
-
readonly jspipelineresult_preprocessInfo: (a: number) => [number, number, number];
|
|
2259
|
-
readonly jspipelineresult_profile: (a: number) => number;
|
|
2260
|
-
readonly jspipelineresult_qualityFloor: (a: number) => [number, number];
|
|
2261
|
-
readonly jspipelineresult_report: (a: number) => number;
|
|
2262
|
-
readonly jspipelineresult_selectionConfidence: (a: number) => [number, number];
|
|
2263
|
-
readonly jspipelineresult_toString: (a: number) => [number, number];
|
|
2264
1868
|
readonly jspointforecasts_isEmpty: (a: number) => number;
|
|
2265
1869
|
readonly jspointforecasts_length: (a: number) => number;
|
|
2266
1870
|
readonly jspointforecasts_new: (a: number, b: number) => number;
|
|
@@ -2337,7 +1941,6 @@ export interface InitOutput {
|
|
|
2337
1941
|
readonly seasonalwindowaverageforecaster_name: (a: number) => [number, number];
|
|
2338
1942
|
readonly seasonalwindowaverageforecaster_new: (a: number, b: number) => number;
|
|
2339
1943
|
readonly seasonalwindowaverageforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
2340
|
-
readonly selectModels: (a: number, b: number, c: number) => [number, number, number];
|
|
2341
1944
|
readonly sesforecaster_fit: (a: number, b: number) => [number, number];
|
|
2342
1945
|
readonly sesforecaster_name: (a: number) => [number, number];
|
|
2343
1946
|
readonly sesforecaster_new: (a: number) => number;
|
|
@@ -2391,14 +1994,11 @@ export interface InitOutput {
|
|
|
2391
1994
|
readonly windowaverageforecaster_new: (a: number) => number;
|
|
2392
1995
|
readonly windowaverageforecaster_predict: (a: number, b: number) => [number, number, number];
|
|
2393
1996
|
readonly tbatsforecaster_withSeasonalPeriods: (a: number, b: number) => number;
|
|
1997
|
+
readonly __wbg_smaforecaster_free: (a: number, b: number) => void;
|
|
2394
1998
|
readonly __wbg_tsbforecaster_free: (a: number, b: number) => void;
|
|
2395
1999
|
readonly __wbg_windowaverageforecaster_free: (a: number, b: number) => void;
|
|
2396
|
-
readonly jsdataprofile_mean: (a: number) => number;
|
|
2397
|
-
readonly jsdataprofile_stdDev: (a: number) => number;
|
|
2398
2000
|
readonly jsmodeldiagnostics_heteroscedasticityPvalue: (a: number) => number;
|
|
2399
2001
|
readonly jsmodeldiagnostics_jarqueBeraPvalue: (a: number) => number;
|
|
2400
|
-
readonly jsmodeldiagnostics_residualMean: (a: number) => number;
|
|
2401
|
-
readonly jsmodeldiagnostics_residualStd: (a: number) => number;
|
|
2402
2002
|
readonly jsnormalresult_mean: (a: number) => number;
|
|
2403
2003
|
readonly jsnormalresult_stdDev: (a: number) => number;
|
|
2404
2004
|
readonly jspredictionintervals_coverage: (a: number) => number;
|