fastlowess-wasm 3.1.0 → 3.2.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/README.md +6 -61
- package/fastlowess_wasm.d.ts +1 -1
- package/fastlowess_wasm_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,21 +12,15 @@
|
|
|
12
12
|
<em>One LOWESS to Rule Them All</em>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
|
-
The fastest, most robust, and most feature-complete language-agnostic LOWESS (Locally Weighted Scatterplot Smoothing) implementation for **Rust**, **Python**, **R**, **Julia**, **JavaScript**, **C++**, and **WebAssembly**.
|
|
15
|
+
The fastest, most robust, and most feature-complete language-agnostic LOWESS (Locally Weighted Scatterplot Smoothing) implementation for **Rust**, **Python**, **R**, **Julia**, **JavaScript**, **C++**, **Go**, **Java**, and **WebAssembly**.
|
|
16
16
|
|
|
17
|
-
The `lowess-project` also offers bindings for Rust, Python, R, Julia, Node.js, WebAssembly, and
|
|
17
|
+
The `lowess-project` also offers bindings for Rust, Python, R, Julia, Node.js, WebAssembly, C++, Go, and Java — see the [full repository](https://github.com/thisisamirv/lowess-project).
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
## Installation
|
|
21
|
+
## Installation & Documentation
|
|
22
22
|
|
|
23
|
-
> [
|
|
24
|
-
>
|
|
25
|
-
> Currently available for R, Python, Rust, Julia, Node.js, WebAssembly, and C++. See the [Installation Guide](https://thisisamirv.github.io/lowess-project/wasm/installation/) for detailed installation instructions.
|
|
26
|
-
|
|
27
|
-
## Documentation
|
|
28
|
-
|
|
29
|
-
> [!NOTE]
|
|
23
|
+
> Currently available for R, Python, Rust, Julia, Node.js, WebAssembly, and C++. See the [Installation Guide](https://thisisamirv.github.io/lowess-project/wasm/introduction/installation/) for detailed installation instructions.
|
|
30
24
|
>
|
|
31
25
|
> ### 📚 [View the full documentation](https://thisisamirv.github.io/lowess-project/wasm/)
|
|
32
26
|
|
|
@@ -41,7 +35,8 @@ The `lowess-project` also offers bindings for Rust, Python, R, Julia, Node.js, W
|
|
|
41
35
|
| **Flexibility** | High (Distance metrics) | Standard |
|
|
42
36
|
| **Complexity** | Higher (Matrix inversion) | Lower (Weighted average/slope) |
|
|
43
37
|
|
|
44
|
-
|
|
38
|
+
Read more about how LOWESS works in the [Concepts](https://thisisamirv.github.io/lowess-project/wasm/introduction/concepts/).
|
|
39
|
+
|
|
45
40
|
> **Note:** For a **LOESS** implementation, use [`loess-project`](https://github.com/thisisamirv/loess-project).
|
|
46
41
|
|
|
47
42
|
---
|
|
@@ -121,62 +116,12 @@ All implementations are **numerical twins** of R's `lowess`:
|
|
|
121
116
|
| **Consistency** | ✅ PERFECT | Multiple scenarios pass with strict tolerance |
|
|
122
117
|
| **Robustness** | ✅ VERIFIED | Robust smoothing matches R exactly |
|
|
123
118
|
|
|
124
|
-
## API Reference
|
|
125
|
-
|
|
126
|
-
```javascript
|
|
127
|
-
import { Lowess } from "fastlowess-wasm"
|
|
128
|
-
|
|
129
|
-
const model = new Lowess({
|
|
130
|
-
fraction: 0.5,
|
|
131
|
-
iterations: 3,
|
|
132
|
-
delta: 0.01,
|
|
133
|
-
weight_function: "tricube",
|
|
134
|
-
robustness_method: "bisquare",
|
|
135
|
-
scaling_method: "mad",
|
|
136
|
-
zero_weight_fallback: "use_local_mean",
|
|
137
|
-
boundary_policy: "extend",
|
|
138
|
-
return_se: true,
|
|
139
|
-
confidence_intervals: 0.95,
|
|
140
|
-
prediction_intervals: 0.95,
|
|
141
|
-
return_diagnostics: true,
|
|
142
|
-
return_residuals: true,
|
|
143
|
-
return_robustness_weights: true,
|
|
144
|
-
cv_fractions: [0.3, 0.5, 0.7],
|
|
145
|
-
cv_method: "kfold",
|
|
146
|
-
cv_k: 5,
|
|
147
|
-
cv_seed: 123,
|
|
148
|
-
auto_converge: 1e-4,
|
|
149
|
-
parallel: true
|
|
150
|
-
})
|
|
151
|
-
const custom_weights = new Float64Array(x.length).fill(1)
|
|
152
|
-
const result = model.fit(x, y, custom_weights)
|
|
153
|
-
|
|
154
|
-
// Result structure:
|
|
155
|
-
result.x,
|
|
156
|
-
result.y,
|
|
157
|
-
result.standard_errors,
|
|
158
|
-
result.confidence_lower,
|
|
159
|
-
result.confidence_upper,
|
|
160
|
-
result.prediction_lower,
|
|
161
|
-
result.prediction_upper,
|
|
162
|
-
result.residuals,
|
|
163
|
-
result.robustness_weights,
|
|
164
|
-
result.diagnostics,
|
|
165
|
-
result.iterations_used,
|
|
166
|
-
result.fraction_used,
|
|
167
|
-
result.cv_scores
|
|
168
|
-
```
|
|
169
|
-
|
|
170
119
|
---
|
|
171
120
|
|
|
172
121
|
## Contributing
|
|
173
122
|
|
|
174
123
|
Contributions are welcome! Please see [CONTRIBUTING.md](https://github.com/thisisamirv/lowess-project/blob/main/CONTRIBUTING.md) for more information.
|
|
175
124
|
|
|
176
|
-
## Changelog
|
|
177
|
-
|
|
178
|
-
See [CHANGELOG.md](https://github.com/thisisamirv/lowess-project/blob/main/CHANGELOG.md) for a history of changes.
|
|
179
|
-
|
|
180
125
|
## License
|
|
181
126
|
|
|
182
127
|
Licensed under [MIT](https://github.com/thisisamirv/lowess-project/blob/main/LICENSE-MIT) or [Apache-2.0](https://github.com/thisisamirv/lowess-project/blob/main/LICENSE-APACHE).
|
package/fastlowess_wasm.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export interface SmoothOptions {
|
|
|
25
25
|
return_residuals?: boolean;
|
|
26
26
|
/** Include robustness weights in result. Default: false. */
|
|
27
27
|
return_robustness_weights?: boolean;
|
|
28
|
-
/** Compute diagnostics (RMSE, MAE,
|
|
28
|
+
/** Compute diagnostics (RMSE, MAE, R2, etc.). Default: false. */
|
|
29
29
|
return_diagnostics?: boolean;
|
|
30
30
|
/** Include standard errors in result. Default: false. */
|
|
31
31
|
return_se?: boolean;
|
package/fastlowess_wasm_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED