@datagrok-libraries/statistics 1.2.12 → 1.3.0
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/.eslintrc.json +1 -0
- package/CHANGELOG.md +21 -0
- package/README.md +0 -1
- package/package.json +1 -1
- package/src/correlation-coefficient.d.ts.map +1 -1
- package/src/correlation-coefficient.js +1 -1
- package/src/fit/fit-curve.d.ts +36 -67
- package/src/fit/fit-curve.d.ts.map +1 -1
- package/src/fit/fit-curve.js +160 -184
- package/src/fit/fit-data.d.ts +0 -4
- package/src/fit/fit-data.d.ts.map +1 -1
- package/src/fit/fit-data.js +22 -22
- package/src/fit/fitting-algorithm/optimizer-misc.d.ts +19 -0
- package/src/fit/fitting-algorithm/optimizer-misc.d.ts.map +1 -0
- package/src/fit/fitting-algorithm/optimizer-misc.js +7 -0
- package/src/fit/fitting-algorithm/optimizer-nelder-mead.d.ts +25 -0
- package/src/fit/fitting-algorithm/optimizer-nelder-mead.d.ts.map +1 -0
- package/src/fit/fitting-algorithm/optimizer-nelder-mead.js +156 -0
- package/src/fit/fitting-algorithm/optimizer-sampler.d.ts +2 -0
- package/src/fit/fitting-algorithm/optimizer-sampler.d.ts.map +1 -0
- package/src/fit/fitting-algorithm/optimizer-sampler.js +28 -0
- package/src/fit/fitting-algorithm/optimizer.d.ts +4 -0
- package/src/fit/fitting-algorithm/optimizer.d.ts.map +1 -0
- package/src/fit/fitting-algorithm/optimizer.js +48 -0
- package/lbfgs/lbfgs.d.ts +0 -1
- package/lbfgs/lbfgs.js +0 -316
package/.eslintrc.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# statistics changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.0 (2024-05-11)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* [#2797](https://github.com/datagrok-ai/public/issues/2797): Changed optimizer for fitting
|
|
8
|
+
|
|
9
|
+
## 1.2.13 (2024-04-18)
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* [#2754](https://github.com/datagrok-ai/public/issues/2754): Implemented capability just to connect the points (without fitting)
|
|
14
|
+
* ODEs: prepare for fitting attachment
|
|
15
|
+
* [#2101](https://github.com/datagrok-ai/public/issues/2101): Improve curve properties and rendering:
|
|
16
|
+
* Added mergeSeries property
|
|
17
|
+
* Added column labels
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* Fixed property panel names.
|
|
22
|
+
* [#2103](https://github.com/datagrok-ai/public/issues/2103): Renamed Show Statistics to Statistics
|
|
23
|
+
|
|
3
24
|
## 1.2.12 (2024-03-14)
|
|
4
25
|
|
|
5
26
|
### Features
|
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation-coefficient.d.ts","sourceRoot":"","sources":["correlation-coefficient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"correlation-coefficient.d.ts","sourceRoot":"","sources":["correlation-coefficient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,iDAAiD,CAAC;AAuDxE;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CA+B7D"}
|
|
@@ -92,4 +92,4 @@ export function kendallsTau(x, y) {
|
|
|
92
92
|
const prob = erfc(Math.abs(z) / 1.4142136);
|
|
93
93
|
return { test: tau, z: z, prob: prob };
|
|
94
94
|
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVsYXRpb24tY29lZmZpY2llbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb3JyZWxhdGlvbi1jb2VmZmljaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxTQUFTLEdBQUcsQ0FBQyxDQUFTO0lBQ3BCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUI7UUFDNUUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUNoRSxrQkFBa0IsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsaUJBQWlCO1FBQzNELGlCQUFpQixFQUFFLGVBQWUsRUFBRSxDQUFDLGVBQWU7UUFDcEQsY0FBYyxFQUFFLGNBQWMsRUFBRSxDQUFDLGNBQWM7UUFDL0MsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLFlBQVk7UUFDNUMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVc7UUFDdkMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFNBQVM7UUFDakMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUTtRQUM5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNYLElBQUksQ0FBQyxHQUFXLENBQUMsQ0FBQztJQUFDLElBQUksRUFBRSxHQUFXLENBQUMsQ0FBQztJQUFDLElBQUksR0FBRyxHQUFXLENBQUMsQ0FBQztJQUFDLElBQUksR0FBRyxHQUFXLENBQUMsQ0FBQztJQUVoRixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVCxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFD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QUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09wdGlvbnN9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3R5cGUtZGVjbGFyYXRpb25zJztcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBlcnJvciBmdW5jdGlvbiBlcmYoeCkuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHggQW4gYXJndW1lbnQuXG4gKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSByZXN1bHQuXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vanN0YXQvanN0YXQvYmxvYi82NWNlMDk2YTk5Zjc1M2Q2YTIyNDgyZTVlNzRhY2NiZmMxYzMzNzY3L2Rpc3QvanN0YXQuanMjTDE1NjJcbiAqL1xuZnVuY3Rpb24gZXJmKHg6IG51bWJlcik6IG51bWJlciB7XG4gIGNvbnN0IGNvZiA9IFstMS4zMDI2NTM3MTk3ODE3MDk0LCA2LjQxOTY5NzkyMzU2NDkwMjZlLTEsIDEuOTQ3NjQ3MzIwNDE4NTgzNmUtMixcbiAgICAtOS41NjE1MTQ3ODY4MDg2MzFlLTMsIC05LjQ2NTk1MzQ0NDgyMDM2ZS00LCAzLjY2ODM5NDk3ODUyNzYxZS00LFxuICAgIDQuMjUyMzMyNDgwNjkwN2UtNSwgLTIuMDI3ODU3ODExMjUzNGUtNSwgLTEuNjI0MjkwMDA0NjQ3ZS02LFxuICAgIDEuMzAzNjU1ODM1NTgwZS02LCAxLjU2MjY0NDE3MjJlLTgsIC04LjUyMzgwOTU5MTVlLTgsXG4gICAgNi41MjkwNTQ0MzllLTksIDUuMDU5MzQzNDk1ZS05LCAtOS45MTM2NDE1NmUtMTAsXG4gICAgLTIuMjczNjUxMjJlLTEwLCA5LjY0Njc5MTFlLTExLCAyLjM5NDAzOGUtMTIsXG4gICAgLTYuODg2MDI3ZS0xMiwgOC45NDQ4N2UtMTMsIDMuMTMwOTJlLTEzLFxuICAgIC0xLjEyNzA4ZS0xMywgMy44MWUtMTYsIDcuMTA2ZS0xNSxcbiAgICAtMS41MjNlLTE1LCAtOS40ZS0xNywgMS4yMWUtMTYsXG4gICAgLTIuOGUtMTddO1xuICBsZXQgaiA9IGNvZi5sZW5ndGggLSAxO1xuICBsZXQgaXNuZWcgPSBmYWxzZTtcbiAgbGV0IGQgPSAwO1xuICBsZXQgZGQgPSAwO1xuICBsZXQgdDogbnVtYmVyID0gMDsgbGV0IHR5OiBudW1iZXIgPSAwOyBsZXQgdG1wOiBudW1iZXIgPSAwOyBsZXQgcmVzOiBudW1iZXIgPSAwO1xuXG4gIGlmICh4IDwgMCkge1xuICAgIHggPSAteDtcbiAgICBpc25lZyA9IHRydWU7XG4gIH1cblxuICB0ID0gMiAvICgyICsgeCk7XG4gIHR5ID0gNCAqIHQgLSAyO1xuXG4gIGZvciAoOyBqID4gMDsgai0tKSB7XG4gICAgdG1wID0gZDtcbiAgICBkID0gdHkgKiBkIC0gZGQgKyBjb2Zbal07XG4gICAgZGQgPSB0bXA7XG4gIH1cblxuICByZXMgPSB0ICogTWF0aC5leHAoLXggKiB4ICsgMC41ICogKGNvZlswXSArIHR5ICogZCkgLSBkZCk7XG4gIHJldHVybiBpc25lZyA/IHJlcyAtIDEgOiAxIC0gcmVzO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGNvbXBsbWVudGFyeSBlcnJvciBmdW5jdGlvbiBlcmZjKHgpXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHggQW4gYXJndW1lbnQuXG4gKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSByZXN1bHQuXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vanN0YXQvanN0YXQvYmxvYi82NWNlMDk2YTk5Zjc1M2Q2YTIyNDgyZTVlNzRhY2NiZmMxYzMzNzY3L2Rpc3QvanN0YXQuanMjTDE1OTlcbiAqL1xuZnVuY3Rpb24gZXJmYyh4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gMSAtIGVyZih4KTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGVzIEtlbmRhbGwncyB0YXUsIGEgY29ycmVsYXRpb24gbWVhc3VyZSBmb3Igb3JkaW5hbCBkYXRhLCBhbmQgYW4gYXNzb2NpYXRlZCBwLXZhbHVlLlxuICogUmV0dXJuczogS2VuZGFsbCdzIHRhdSwgdHdvLXRhaWxlZCBwLXZhbHVlLlxuICogRGVyaXZlZCBmcm9tIG9sZGVyIFNjaVB5OiBodHRwOi8vd2ViLm1pdC5lZHUvNi44NjMvc3ByaW5nMjAxMS9wYWNrYWdlcy9zY2lweV9zcmMvc2NpcHkvc3RhdHMvc3RhdHMucHlcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge251bWJlcltdfSB4IFRoZSBmaXJzdCBhcnJheS5cbiAqIEBwYXJhbSB7bnVtYmVyW119IHkgVGhlIHNlY29uZCBhcnJheS5cbiAqIEByZXR1cm4ge09wdGlvbnN9IFRoZSByZXN1bHQuXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vcGRmZXJuaG91dC9uYXJyYWZpcm1hL2Jsb2IvXG4gKiBjOWMxMjJkNTc3YTRiODg2OGNlNjAzYmFkYWJiYjdkMTBmNDU3NDBjL3dlYmFwcC9zb3VyY2Uvc3RhdGlzdGljcy9rZW5kYWxsc1RhdS50cyNMOFxuICovXG5leHBvcnQgZnVuY3Rpb24ga2VuZGFsbHNUYXUoeDogbnVtYmVyW10sIHk6IG51bWJlcltdKTogT3B0aW9ucyB7XG4gIGxldCBuMSA9IDA7XG4gIGxldCBuMiA9IDA7XG4gIGxldCBpc3MgPSAwO1xuICBmb3IgKGxldCBqID0gMDsgaiA8IHgubGVuZ3RoIC0gMTsgaisrKSB7XG4gICAgZm9yIChsZXQgayA9IGogKyAxOyBrIDwgeS5sZW5ndGg7IGsrKykge1xuICAgICAgY29uc3QgYTEgPSB4W2pdIC0geFtrXTtcbiAgICAgIGNvbnN0IGEyID0geVtqXSAtIHlba107XG4gICAgICBjb25zdCBhYSA9IGExICogYTI7XG4gICAgICBpZiAoYWEpIHtcbiAgICAgICAgLy8gbmVpdGhlciBhcnJheSBoYXMgYSB0aWVcbiAgICAgICAgbjEgPSBuMSArIDE7XG4gICAgICAgIG4yID0gbjIgKyAxO1xuICAgICAgICBpZiAoYWEgPiAwKVxuICAgICAgICAgIGlzcyA9IGlzcyArIDE7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBpc3MgPSBpc3MgLSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGExKVxuICAgICAgICAgIG4xID0gbjEgKyAxO1xuXG4gICAgICAgIGlmIChhMilcbiAgICAgICAgICBuMiA9IG4yICsgMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc3QgdGF1ID0gaXNzIC8gTWF0aC5zcXJ0KG4xICogbjIpO1xuICBjb25zdCBzdmFyID0gKDQuMCAqIHgubGVuZ3RoICsgMTAuMCkgLyAoOS4wICogeC5sZW5ndGggKiAoeC5sZW5ndGggLSAxKSk7XG4gIGNvbnN0IHogPSB0YXUgLyBNYXRoLnNxcnQoc3Zhcik7XG4gIGNvbnN0IHByb2IgPSBlcmZjKE1hdGguYWJzKHopIC8gMS40MTQyMTM2KTtcbiAgcmV0dXJuIHt0ZXN0OiB0YXUsIHo6IHosIHByb2I6IHByb2J9O1xufVxuIl19
|
package/src/fit/fit-curve.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as DG from 'datagrok-api/dg';
|
|
|
2
2
|
export declare const FitErrorModel: {
|
|
3
3
|
CONSTANT: string;
|
|
4
4
|
PROPORTIONAL: string;
|
|
5
|
+
COMBINED: string;
|
|
5
6
|
};
|
|
6
7
|
export declare type FitParamBounds = {
|
|
7
8
|
min?: number;
|
|
@@ -17,7 +18,7 @@ export interface IFitFunctionDescription {
|
|
|
17
18
|
}
|
|
18
19
|
export declare type FitCurve = {
|
|
19
20
|
fittedCurve: (x: number) => number;
|
|
20
|
-
parameters:
|
|
21
|
+
parameters: Float32Array;
|
|
21
22
|
};
|
|
22
23
|
export declare type FitConfidenceIntervals = {
|
|
23
24
|
confidenceTop: (x: number) => number;
|
|
@@ -26,51 +27,20 @@ export declare type FitConfidenceIntervals = {
|
|
|
26
27
|
export declare type FitStatistics = {
|
|
27
28
|
rSquared?: number;
|
|
28
29
|
auc?: number;
|
|
29
|
-
interceptX
|
|
30
|
-
interceptY
|
|
31
|
-
slope
|
|
32
|
-
top
|
|
33
|
-
bottom
|
|
30
|
+
interceptX?: number;
|
|
31
|
+
interceptY?: number;
|
|
32
|
+
slope?: number;
|
|
33
|
+
top?: number;
|
|
34
|
+
bottom?: number;
|
|
34
35
|
};
|
|
35
36
|
export declare type FitInvertedFunctions = {
|
|
36
37
|
inverted: (y: number) => number;
|
|
37
38
|
invertedTop: (y: number) => number;
|
|
38
39
|
invertedBottom: (y: number) => number;
|
|
39
40
|
};
|
|
40
|
-
/**
|
|
41
|
-
* Datagrok curve fitting
|
|
42
|
-
*
|
|
43
|
-
* - Fitting: computing parameters of the specified function to best fit the data
|
|
44
|
-
* - Uses BFGS optimization algorithm (multi-threading for performance).
|
|
45
|
-
* For dose-response curves, we are typically fitting the sigmoid function
|
|
46
|
-
* - Ability to dynamically register custom fitting functions
|
|
47
|
-
* - Automatic fit function determination
|
|
48
|
-
* - Caching of custom fitting functions
|
|
49
|
-
* - Ability to get fitting performance characteristics (r-squared, classification, etc)
|
|
50
|
-
* - Deep integration with the Datagrok grid
|
|
51
|
-
* - Either fitting on the fly, or using the supplied function + parameters
|
|
52
|
-
* - Multiple series in one cell
|
|
53
|
-
* - Candlesticks, confidence intervals, and droplines drawing
|
|
54
|
-
* - Ability to define chart, marker, or fitting options (such as fit function or marker color)
|
|
55
|
-
* on the column level, with the ability to override it on a grid cell or point level
|
|
56
|
-
* - Clicking a point in a chart within a grid makes it an outlier -> curve is re-fitted on the fly
|
|
57
|
-
* - Ability to specify a chart as "reference" so that it is shown on every other chart for comparison
|
|
58
|
-
* - Ability to overlay curves from multiple grid cells (special viewer)
|
|
59
|
-
* - Work with series stored in multiple formats (binary for performance, json for flexibility, etc)
|
|
60
|
-
*/
|
|
61
|
-
export declare const FIT_SEM_TYPE = "fit";
|
|
62
|
-
export declare const FIT_CELL_TYPE = "fit";
|
|
63
|
-
export declare const TAG_FIT = ".fit";
|
|
64
|
-
export declare const CONFIDENCE_INTERVAL_STROKE_COLOR = "rgba(255,191,63,0.4)";
|
|
65
|
-
export declare const CONFIDENCE_INTERVAL_FILL_COLOR = "rgba(255,238,204,0.3)";
|
|
66
|
-
export declare const CURVE_CONFIDENCE_INTERVAL_BOUNDS: {
|
|
67
|
-
TOP: string;
|
|
68
|
-
BOTTOM: string;
|
|
69
|
-
};
|
|
70
|
-
export declare const DROPLINES: string[];
|
|
71
41
|
export declare type FitMarkerType = 'asterisk' | 'circle' | 'cross border' | 'diamond' | 'square' | 'star' | 'triangle bottom' | 'triangle left' | 'triangle right' | 'triangle top';
|
|
72
42
|
export declare type FitLineStyle = 'solid' | 'dotted' | 'dashed' | 'dashdotted';
|
|
73
|
-
export declare type FitErrorModelType = 'constant' | 'proportional';
|
|
43
|
+
export declare type FitErrorModelType = 'constant' | 'proportional' | 'combined';
|
|
74
44
|
/** A point in the fit series. Only x and y are required. Can override some fields defined in IFitSeriesOptions. */
|
|
75
45
|
export interface IFitPoint {
|
|
76
46
|
x: number;
|
|
@@ -105,6 +75,8 @@ export interface IFitChartOptions {
|
|
|
105
75
|
logX?: boolean;
|
|
106
76
|
logY?: boolean;
|
|
107
77
|
allowXZeroes?: boolean;
|
|
78
|
+
mergeSeries?: boolean;
|
|
79
|
+
showColumnLabel?: boolean;
|
|
108
80
|
showStatistics?: string[];
|
|
109
81
|
labelOptions?: IFitChartLabelOptions[];
|
|
110
82
|
}
|
|
@@ -132,6 +104,7 @@ export interface IFitSeriesOptions {
|
|
|
132
104
|
fitLineColor?: string;
|
|
133
105
|
confidenceIntervalColor?: string;
|
|
134
106
|
outlierColor?: string;
|
|
107
|
+
connectDots?: boolean;
|
|
135
108
|
showFitLine?: boolean;
|
|
136
109
|
showPoints?: string;
|
|
137
110
|
showCurveConfidenceInterval?: boolean;
|
|
@@ -141,76 +114,72 @@ export interface IFitSeriesOptions {
|
|
|
141
114
|
[key: string]: string | number | boolean;
|
|
142
115
|
};
|
|
143
116
|
droplines?: string[];
|
|
117
|
+
columnName?: string;
|
|
144
118
|
}
|
|
145
|
-
/** Properties that describe {@link FitStatistics}. Useful for editing, initialization, transformations, etc. */
|
|
146
|
-
export declare const statisticsProperties: DG.Property[];
|
|
147
|
-
/** Properties that describe {@link IFitChartOptions}. Useful for editing, initialization, transformations, etc. */
|
|
148
|
-
export declare const fitChartDataProperties: DG.Property[];
|
|
149
|
-
/** Properties that describe {@link IFitSeriesOptions}. Useful for editing, initialization, transformations, etc. */
|
|
150
|
-
export declare const fitSeriesProperties: DG.Property[];
|
|
151
|
-
export declare const FIT_FUNCTION_SIGMOID = "sigmoid";
|
|
152
|
-
export declare const FIT_FUNCTION_LINEAR = "linear";
|
|
153
|
-
export declare const FIT_STATS_RSQUARED = "rSquared";
|
|
154
|
-
export declare const FIT_STATS_AUC = "auc";
|
|
155
119
|
/** Class for the fit functions */
|
|
156
120
|
export declare abstract class FitFunction {
|
|
157
121
|
abstract get name(): string;
|
|
158
122
|
abstract get parameterNames(): string[];
|
|
159
|
-
abstract y(params:
|
|
160
|
-
abstract getInitialParameters(x: number[], y: number[]):
|
|
123
|
+
abstract y(params: Float32Array, x: number): number;
|
|
124
|
+
abstract getInitialParameters(x: number[], y: number[]): Float32Array;
|
|
161
125
|
}
|
|
162
126
|
/** Class that implements the linear function */
|
|
163
127
|
export declare class LinearFunction extends FitFunction {
|
|
164
128
|
get name(): string;
|
|
165
129
|
get parameterNames(): string[];
|
|
166
|
-
y(params:
|
|
167
|
-
getInitialParameters(x: number[], y: number[]):
|
|
130
|
+
y(params: Float32Array, x: number): number;
|
|
131
|
+
getInitialParameters(x: number[], y: number[]): Float32Array;
|
|
168
132
|
}
|
|
169
133
|
/** Class that implements the sigmoid function */
|
|
170
134
|
export declare class SigmoidFunction extends FitFunction {
|
|
171
135
|
get name(): string;
|
|
172
136
|
get parameterNames(): string[];
|
|
173
|
-
y(params:
|
|
174
|
-
getInitialParameters(x: number[], y: number[]):
|
|
137
|
+
y(params: Float32Array, x: number): number;
|
|
138
|
+
getInitialParameters(x: number[], y: number[]): Float32Array;
|
|
175
139
|
}
|
|
176
140
|
/** Class that implements user JS functions */
|
|
177
141
|
export declare class JsFunction extends FitFunction {
|
|
178
142
|
private _name;
|
|
179
143
|
private _parameterNames;
|
|
180
|
-
constructor(name: string, yFunc: (params:
|
|
144
|
+
constructor(name: string, yFunc: (params: Float32Array, x: number) => number, getInitParamsFunc: (x: number[], y: number[]) => Float32Array, parameterNames: string[]);
|
|
181
145
|
get name(): string;
|
|
182
146
|
get parameterNames(): string[];
|
|
183
|
-
y(params:
|
|
184
|
-
getInitialParameters(x: number[], y: number[]):
|
|
147
|
+
y(params: Float32Array, x: number): number;
|
|
148
|
+
getInitialParameters(x: number[], y: number[]): Float32Array;
|
|
185
149
|
}
|
|
186
150
|
export declare const fitFunctions: {
|
|
187
151
|
[index: string]: FitFunction;
|
|
188
152
|
};
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
153
|
+
/** Properties that describe {@link FitStatistics}. Useful for editing, initialization, transformations, etc. */
|
|
154
|
+
export declare const statisticsProperties: DG.Property[];
|
|
155
|
+
/** Properties that describe {@link IFitChartOptions}. Useful for editing, initialization, transformations, etc. */
|
|
156
|
+
export declare const fitChartDataProperties: DG.Property[];
|
|
157
|
+
/** Properties that describe {@link IFitSeriesOptions}. Useful for editing, initialization, transformations, etc. */
|
|
158
|
+
export declare const fitSeriesProperties: DG.Property[];
|
|
159
|
+
export declare const FIT_FUNCTION_SIGMOID = "sigmoid";
|
|
160
|
+
export declare const FIT_FUNCTION_LINEAR = "linear";
|
|
161
|
+
export declare const FIT_STATS_RSQUARED = "rSquared";
|
|
162
|
+
export declare const FIT_STATS_AUC = "auc";
|
|
194
163
|
export declare function getOrCreateFitFunction(seriesFitFunc: string | IFitFunctionDescription): FitFunction;
|
|
195
164
|
export declare function fitData(data: {
|
|
196
165
|
x: number[];
|
|
197
166
|
y: number[];
|
|
198
167
|
}, fitFunction: FitFunction, errorModel: FitErrorModelType, parameterBounds?: FitParamBounds[]): FitCurve;
|
|
199
|
-
export declare function getFittedCurve(curveFunction: (params:
|
|
168
|
+
export declare function getFittedCurve(curveFunction: (params: Float32Array, x: number) => number, paramValues: Float32Array): (x: number) => number;
|
|
200
169
|
export declare function getCurveConfidenceIntervals(data: {
|
|
201
170
|
x: number[];
|
|
202
171
|
y: number[];
|
|
203
|
-
}, paramValues:
|
|
172
|
+
}, paramValues: Float32Array, curveFunction: (params: Float32Array, x: number) => number, confidenceLevel: number | undefined, errorModel: FitErrorModelType): FitConfidenceIntervals;
|
|
204
173
|
export declare function getStatistics(data: {
|
|
205
174
|
x: number[];
|
|
206
175
|
y: number[];
|
|
207
|
-
}, paramValues:
|
|
176
|
+
}, paramValues: Float32Array, curveFunction: (params: Float32Array, x: number) => number, statistics?: boolean): FitStatistics;
|
|
208
177
|
export declare function getInvertedFunctions(data: {
|
|
209
178
|
x: number[];
|
|
210
179
|
y: number[];
|
|
211
180
|
}, paramValues: number[], confidenceLevel?: number, statistics?: boolean): FitInvertedFunctions | null;
|
|
212
|
-
export declare function sigmoid(params:
|
|
213
|
-
export declare function linear(params:
|
|
181
|
+
export declare function sigmoid(params: Float32Array, x: number): number;
|
|
182
|
+
export declare function linear(params: Float32Array, x: number): number;
|
|
214
183
|
export declare function getAuc(fittedCurve: (x: number) => number, data: {
|
|
215
184
|
x: number[];
|
|
216
185
|
y: number[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fit-curve.d.ts","sourceRoot":"","sources":["fit-curve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"fit-curve.d.ts","sourceRoot":"","sources":["fit-curve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAOtC,eAAO,MAAM,aAAa;;;;CAIzB,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;+EAC+E;AAC/E,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,oBAAY,QAAQ,GAAG;IACrB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,UAAU,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,gBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC,CAAC;AA0BF,oBAAY,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,iBAAiB,GACpH,eAAe,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEtD,oBAAY,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAExE,oBAAY,iBAAiB,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;AAEzE,mHAAmH;AACnH,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAGhB;AAED;mFACmF;AACnF,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mHAAmH;AACnH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAED,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,4DAA4D;AAC5D,qBAAa,YAAa,YAAW,aAAa;IAChD,YAAY,EAAE,gBAAgB,CAAM;IACpC,aAAa,EAAE,iBAAiB,CAAM;IACtC,MAAM,EAAE,UAAU,EAAE,CAAM;CAC3B;AAED,oHAAoH;AACpH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,kCAAkC;AAClC,8BAAsB,WAAW;IAC/B,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC;IAC5B,QAAQ,KAAK,cAAc,IAAI,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IACnD,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY;CACtE;AAED,gDAAgD;AAChD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY;CAkB7D;AAED,iDAAiD;AACjD,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY;CAoB7D;AAED,8CAA8C;AAC9C,qBAAa,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAAW;gBAEtB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAC1E,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE;IAUzF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY;CAG7D;AAGD,eAAO,MAAM,YAAY,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAA;CAGvD,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,QAAQ,EAQ7C,CAAC;AAEF,mHAAmH;AACnH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,QAAQ,EAqB/C,CAAC;AAEF,oHAAoH;AACpH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,QAAQ,EA8B5C,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,uBAAuB,GAAG,WAAW,CAkBnG;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAC/G,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,QAAQ,CAmC9C;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,WAAW,EAAE,YAAY,GACnH,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAIrB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,WAAW,EAAE,YAAY,EACrG,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,eAAe,oBAAe,EAAE,UAAU,EAAE,iBAAiB,GACzH,sBAAsB,CAevB;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,WAAW,EAAE,YAAY,EACvF,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,UAAU,GAAE,OAAc,GAAG,aAAa,CAYvG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAC1F,eAAe,GAAE,MAAa,EAAE,UAAU,GAAE,OAAc,GAAG,oBAAoB,GAAG,IAAI,CAuCzF;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,UAIrD;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,IAAI,EAAE;IAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,GAAG,MAAM,CASnG;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,IAAI,EAAE;IAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,GAAG,MAAM,CAUxG"}
|