getter-one 0.1.1__tar.gz

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.
Files changed (37) hide show
  1. getter_one-0.1.1/LICENSE +21 -0
  2. getter_one-0.1.1/PKG-INFO +259 -0
  3. getter_one-0.1.1/README.md +210 -0
  4. getter_one-0.1.1/getter_one/__init__.py +285 -0
  5. getter_one-0.1.1/getter_one/__main__.py +4 -0
  6. getter_one-0.1.1/getter_one/analysis/__init__.py +44 -0
  7. getter_one-0.1.1/getter_one/analysis/confidence_kit.py +531 -0
  8. getter_one-0.1.1/getter_one/analysis/network_analyzer_core.py +572 -0
  9. getter_one-0.1.1/getter_one/analysis/report_generator.py +238 -0
  10. getter_one-0.1.1/getter_one/cli.py +347 -0
  11. getter_one-0.1.1/getter_one/core/__init__.py +80 -0
  12. getter_one-0.1.1/getter_one/core/gpu_kernels.py +829 -0
  13. getter_one-0.1.1/getter_one/core/gpu_memory.py +850 -0
  14. getter_one-0.1.1/getter_one/core/gpu_patches.py +104 -0
  15. getter_one-0.1.1/getter_one/core/gpu_utils.py +538 -0
  16. getter_one-0.1.1/getter_one/data/__init__.py +25 -0
  17. getter_one-0.1.1/getter_one/data/loader.py +707 -0
  18. getter_one-0.1.1/getter_one/detection/__init__.py +24 -0
  19. getter_one-0.1.1/getter_one/detection/anomaly_detection_gpu.py +643 -0
  20. getter_one-0.1.1/getter_one/detection/boundary_detection_gpu.py +713 -0
  21. getter_one-0.1.1/getter_one/detection/extended_detection_gpu.py +677 -0
  22. getter_one-0.1.1/getter_one/detection/phase_space_gpu.py +1561 -0
  23. getter_one-0.1.1/getter_one/detection/topology_breaks_gpu.py +708 -0
  24. getter_one-0.1.1/getter_one/models.py +38 -0
  25. getter_one-0.1.1/getter_one/pipeline.py +348 -0
  26. getter_one-0.1.1/getter_one/structures/__init__.py +19 -0
  27. getter_one-0.1.1/getter_one/structures/lambda_structures_core.py +334 -0
  28. getter_one-0.1.1/getter_one.egg-info/PKG-INFO +259 -0
  29. getter_one-0.1.1/getter_one.egg-info/SOURCES.txt +35 -0
  30. getter_one-0.1.1/getter_one.egg-info/dependency_links.txt +1 -0
  31. getter_one-0.1.1/getter_one.egg-info/entry_points.txt +3 -0
  32. getter_one-0.1.1/getter_one.egg-info/not-zip-safe +1 -0
  33. getter_one-0.1.1/getter_one.egg-info/requires.txt +27 -0
  34. getter_one-0.1.1/getter_one.egg-info/top_level.txt +1 -0
  35. getter_one-0.1.1/pyproject.toml +149 -0
  36. getter_one-0.1.1/setup.cfg +4 -0
  37. getter_one-0.1.1/tests/test_getter_one.py +525 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 MASAMICHI IIZUMI
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,259 @@
1
+ Metadata-Version: 2.4
2
+ Name: getter-one
3
+ Version: 0.1.1
4
+ Summary: GETTER One: Geometric Event-driven Tensor-based Time-series Extraction & Recognition - Structural event detection and causal network extraction for N-dimensional time series
5
+ Author-email: Masamichi Iizumi <m.iizumi@miosync.email>
6
+ Maintainer-email: Masamichi Iizumi <m.iizumi@miosync.email>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/miosync-masa/getter-one
9
+ Project-URL: Repository, https://github.com/miosync-masa/getter-one
10
+ Project-URL: Issues, https://github.com/miosync-masa/getter-one/issues
11
+ Keywords: time-series,event-detection,causal-inference,structural-analysis,tensor-field,network-extraction,discrete-geometry,multivariate,lambda3,getter-one
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Topic :: Scientific/Engineering
15
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
16
+ Classifier: Topic :: Scientific/Engineering :: Physics
17
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Operating System :: OS Independent
25
+ Requires-Python: >=3.10
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: numpy<2.0.0,>=1.22.0
29
+ Requires-Dist: scipy>=1.9.0
30
+ Requires-Dist: pandas>=1.5.0
31
+ Provides-Extra: gpu
32
+ Requires-Dist: cupy-cuda12x>=13.0.0; extra == "gpu"
33
+ Provides-Extra: gpu-cuda11
34
+ Requires-Dist: cupy-cuda11x>=12.0.0; extra == "gpu-cuda11"
35
+ Provides-Extra: viz
36
+ Requires-Dist: matplotlib>=3.5.0; extra == "viz"
37
+ Requires-Dist: plotly>=5.0.0; extra == "viz"
38
+ Provides-Extra: excel
39
+ Requires-Dist: openpyxl>=3.0.0; extra == "excel"
40
+ Provides-Extra: parquet
41
+ Requires-Dist: pyarrow>=10.0.0; extra == "parquet"
42
+ Provides-Extra: dev
43
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
44
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
45
+ Requires-Dist: ruff>=0.4.0; extra == "dev"
46
+ Provides-Extra: full
47
+ Requires-Dist: getter-one[dev,excel,gpu,parquet,viz]; extra == "full"
48
+ Dynamic: license-file
49
+
50
+ # GETTER One
51
+
52
+ **Geometric Event-driven Tensor-based Time-series Extraction & Recognition**
53
+
54
+ *Omnidimensional Network Engine*
55
+
56
+ [![CI](https://github.com/miosync-masa/getter-one/actions/workflows/ci.yml/badge.svg)](https://github.com/miosync-masa/getter-one/actions)
57
+ [![PyPI](https://img.shields.io/pypi/v/getter-one)](https://pypi.org/project/getter-one/)
58
+ [![Python](https://img.shields.io/pypi/pyversions/getter-one)](https://pypi.org/project/getter-one/)
59
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
60
+
61
+ ---
62
+
63
+ GETTER One is a **discrete geometric framework** for structural event detection and causal network extraction in N-dimensional time series.
64
+
65
+ It is **not** a forecasting model. It detects *what is changing*, *when*, and *which dimensions are driving the change* — using closed-form geometric computations with no MCMC, no gradient descent, and no threshold tuning.
66
+
67
+ ## Key Features
68
+
69
+ - **Lambda³ (Λ³) structural analysis** — Computes displacement vectors (ΛF), structural tension (ρT), cross-dimension synchrony (σₛ), and cooperative events (ΔΛC) in closed form
70
+ - **Causal network extraction** — Identifies directed, time-lagged causal relationships between dimensions
71
+ - **Statistical confidence** — Permutation tests, bootstrap confidence intervals, and effect sizes (no Bayesian inference required)
72
+ - **Domain-agnostic** — Works on any N-dimensional time series: weather, finance, sensors, biology
73
+ - **Minimal dependencies** — Core requires only `numpy`, `scipy`, `pandas`
74
+ - **GPU-ready** — Optional CUDA acceleration for large-scale datasets via CuPy
75
+
76
+ ## Installation
77
+
78
+ ```bash
79
+ pip install getter-one
80
+ ```
81
+
82
+ Optional extras:
83
+
84
+ ```bash
85
+ pip install getter-one[gpu] # CUDA/CuPy acceleration
86
+ pip install getter-one[viz] # matplotlib + plotly
87
+ pip install getter-one[full] # everything
88
+ ```
89
+
90
+ ## Quick Start
91
+
92
+ ```python
93
+ from getter_one.pipeline import run
94
+
95
+ # One line — full pipeline
96
+ result = run("weather.csv", target="precipitation")
97
+ print(result.report)
98
+ ```
99
+
100
+ ### Step by Step
101
+
102
+ ```python
103
+ from getter_one.data import load
104
+ from getter_one.structures import LambdaStructuresCore
105
+ from getter_one.analysis import NetworkAnalyzerCore, assess_confidence
106
+
107
+ # 1. Load data
108
+ dataset = load("weather.csv", target="precipitation", normalize="range")
109
+
110
+ # 2. Compute Λ³ structures
111
+ core = LambdaStructuresCore()
112
+ structures = core.compute_lambda_structures(
113
+ dataset.state_vectors, window_steps=24,
114
+ dimension_names=dataset.dimension_names,
115
+ )
116
+
117
+ # 3. Extract causal network
118
+ analyzer = NetworkAnalyzerCore(sync_threshold=0.3, causal_threshold=0.25, max_lag=12)
119
+ network = analyzer.analyze(dataset.state_vectors, dimension_names=dataset.dimension_names)
120
+
121
+ # 4. Assess confidence
122
+ confidence = assess_confidence(
123
+ state_vectors=dataset.state_vectors,
124
+ lambda_structures=structures,
125
+ network_result=network,
126
+ dimension_names=dataset.dimension_names,
127
+ )
128
+ ```
129
+
130
+ ## CLI
131
+
132
+ ```bash
133
+ # Run full pipeline
134
+ getter-one run weather.csv --target precipitation --report report.md
135
+
136
+ # Data preparation
137
+ getter-one-loader load weather.csv --target precipitation -o prepared.csv
138
+ getter-one-loader merge weather.csv air_quality.json --time date -o merged.csv
139
+ getter-one-loader info data.csv
140
+
141
+ # System info
142
+ getter-one info
143
+ getter-one check-gpu
144
+ ```
145
+
146
+ ## Pipeline Architecture
147
+
148
+ ```
149
+ Input Data (csv/json/parquet/xlsx/npy)
150
+
151
+
152
+ ┌─────────────────────────────────┐
153
+ │ Lambda³ Structures (Λ³) │ Closed-form geometric computation
154
+ │ ΛF, ΛFF, ρT, σₛ, Q_Λ, ΔΛC │ No parameters to tune
155
+ └──────────────┬──────────────────┘
156
+
157
+ ┌────────────┼────────────┐
158
+ ▼ ▼ ▼
159
+ ┌──────┐ ┌──────┐ ┌──────────┐
160
+ │Bound │ │Topo │ │Anomaly │ Detection modules
161
+ │ary │ │Break │ │Detection │ (GPU-accelerated)
162
+ └──┬───┘ └──┬───┘ └────┬─────┘
163
+ └─────────┼───────────┘
164
+
165
+ ┌─────────────────────────────────┐
166
+ │ Causal Network Analysis │ Sync + directed causal links
167
+ │ Sync matrix, lag estimation │ Hub/driver/follower detection
168
+ └──────────────┬──────────────────┘
169
+
170
+ ┌─────────────────────────────────┐
171
+ │ Confidence Assessment │ Permutation test → p-values
172
+ │ No MCMC, no Bayesian inference │ Bootstrap → confidence intervals
173
+ └──────────────┬──────────────────┘
174
+
175
+ ┌─────────────────────────────────┐
176
+ │ Report Generation │ Markdown report with all results
177
+ └─────────────────────────────────┘
178
+ ```
179
+
180
+ ## What GETTER One Is (and Isn't)
181
+
182
+ | | GETTER One | Traditional Models |
183
+ |---|---|---|
184
+ | **Purpose** | Structural event detection | Forecasting / prediction |
185
+ | **Method** | Discrete geometry (closed-form) | Regression / deep learning |
186
+ | **Parameters** | Window size only | Thresholds, hyperparameters |
187
+ | **Output** | Events, boundaries, causal network | Predicted values |
188
+ | **Relationship** | Complements prediction models | Competes with each other |
189
+
190
+ GETTER One detects **what changed and why**, not **what will happen next**. It can be used as a feature extractor for prediction models — experiments show that combining raw data with GETTER One features improves Transformer event detection F1 by +5.7% over raw data alone, and outperforms adding 7 additional weather variables (+4.3% vs +6.1%).
191
+
192
+ ## Benchmark Results
193
+
194
+ Causal inference benchmark against 5 established methods on synthetic data with ground truth (6 scenarios, 3 repeats each):
195
+
196
+ | Method | Composite | F1 (dir) | Lag MAE | Sign Acc | Spurious |
197
+ |--------|-----------|----------|---------|----------|----------|
198
+ | **GETTER One** | **0.824** | **0.800** | **0.000** | **1.000** | 0.500 |
199
+ | PCMCI+ | 0.873 | 0.741 | 0.000 | 1.000 | 0.000 |
200
+ | VAR Granger | 0.812 | 0.630 | 0.067 | 0.933 | 0.000 |
201
+ | Transfer Entropy | 0.417 | 0.456 | 0.958 | — | 0.500 |
202
+ | Event XCorr | 0.599 | 0.589 | 0.077 | — | 0.333 |
203
+ | Graphical Lasso | 0.119 | — | — | — | 1.000 |
204
+
205
+ GETTER One achieves **perfect F1 = 1.000** on all event-driven scenarios (S1, S2, S7, S8) with **zero lag error** and **perfect sign accuracy**.
206
+
207
+ ## Real-World Application: Weather Network
208
+
209
+ Analysis of 7 cities around Tokyo (hourly data, October 2024) reveals physically correct causal structures:
210
+
211
+ **Precipitation causal network:**
212
+ - Nagano → Gunma (lag=1h) → Saitama (lag=1h) — inland-to-plains propagation
213
+ - Yamanashi → Gunma (lag=2h) — basin-to-plains flow
214
+ - Drivers: Nagano, Yamanashi (mountain sources)
215
+ - Followers: Saitama, Tochigi (downstream receivers)
216
+
217
+ **Cross-variable causality (42D full analysis):**
218
+ - Temperature changes → Surface pressure changes (lag=2-3h) — thermodynamic law rediscovered from data alone
219
+
220
+ ## Supported Data Formats
221
+
222
+ | Format | Extension | Read | Write |
223
+ |--------|-----------|------|-------|
224
+ | CSV / TSV | `.csv`, `.tsv` | ✅ | ✅ |
225
+ | JSON | `.json` | ✅ | — |
226
+ | Parquet | `.parquet` | ✅ | — |
227
+ | Excel | `.xlsx`, `.xls` | ✅ | — |
228
+ | NumPy | `.npy`, `.npz` | ✅ | ✅ |
229
+
230
+ ## Project Structure
231
+
232
+ ```
233
+ getter_one/
234
+ ├── data/ Data loading & merging (multi-format)
235
+ ├── structures/ Lambda³ structural computation (CPU)
236
+ ├── core/ GPU infrastructure (CuPy/CUDA)
237
+ ├── detection/ Boundary, topology, anomaly, phase-space detection
238
+ ├── analysis/ Network analysis, confidence assessment, report generation
239
+ ├── pipeline.py Full pipeline orchestration
240
+ └── cli.py Command-line interface
241
+ ```
242
+
243
+ ## Related Projects
244
+
245
+ - [**BANKAI-MD**](https://github.com/miosync-masa/bankai) — GPU-accelerated molecular dynamics analysis built on the same Lambda³ theory. GETTER One is the domain-agnostic generalization; BANKAI-MD is the MD-specialized implementation.
246
+
247
+ ## Citation
248
+
249
+ Paper in preparation. If you use GETTER One in your research, please cite this repository.
250
+
251
+ ## License
252
+
253
+ MIT License — see [LICENSE](LICENSE) for details.
254
+
255
+ ---
256
+
257
+ *Built with 💕 by Masamichi & Tamaki*
258
+
259
+ *CHANGE EAGLE // Aerial Type // Structure Detection*
@@ -0,0 +1,210 @@
1
+ # GETTER One
2
+
3
+ **Geometric Event-driven Tensor-based Time-series Extraction & Recognition**
4
+
5
+ *Omnidimensional Network Engine*
6
+
7
+ [![CI](https://github.com/miosync-masa/getter-one/actions/workflows/ci.yml/badge.svg)](https://github.com/miosync-masa/getter-one/actions)
8
+ [![PyPI](https://img.shields.io/pypi/v/getter-one)](https://pypi.org/project/getter-one/)
9
+ [![Python](https://img.shields.io/pypi/pyversions/getter-one)](https://pypi.org/project/getter-one/)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
11
+
12
+ ---
13
+
14
+ GETTER One is a **discrete geometric framework** for structural event detection and causal network extraction in N-dimensional time series.
15
+
16
+ It is **not** a forecasting model. It detects *what is changing*, *when*, and *which dimensions are driving the change* — using closed-form geometric computations with no MCMC, no gradient descent, and no threshold tuning.
17
+
18
+ ## Key Features
19
+
20
+ - **Lambda³ (Λ³) structural analysis** — Computes displacement vectors (ΛF), structural tension (ρT), cross-dimension synchrony (σₛ), and cooperative events (ΔΛC) in closed form
21
+ - **Causal network extraction** — Identifies directed, time-lagged causal relationships between dimensions
22
+ - **Statistical confidence** — Permutation tests, bootstrap confidence intervals, and effect sizes (no Bayesian inference required)
23
+ - **Domain-agnostic** — Works on any N-dimensional time series: weather, finance, sensors, biology
24
+ - **Minimal dependencies** — Core requires only `numpy`, `scipy`, `pandas`
25
+ - **GPU-ready** — Optional CUDA acceleration for large-scale datasets via CuPy
26
+
27
+ ## Installation
28
+
29
+ ```bash
30
+ pip install getter-one
31
+ ```
32
+
33
+ Optional extras:
34
+
35
+ ```bash
36
+ pip install getter-one[gpu] # CUDA/CuPy acceleration
37
+ pip install getter-one[viz] # matplotlib + plotly
38
+ pip install getter-one[full] # everything
39
+ ```
40
+
41
+ ## Quick Start
42
+
43
+ ```python
44
+ from getter_one.pipeline import run
45
+
46
+ # One line — full pipeline
47
+ result = run("weather.csv", target="precipitation")
48
+ print(result.report)
49
+ ```
50
+
51
+ ### Step by Step
52
+
53
+ ```python
54
+ from getter_one.data import load
55
+ from getter_one.structures import LambdaStructuresCore
56
+ from getter_one.analysis import NetworkAnalyzerCore, assess_confidence
57
+
58
+ # 1. Load data
59
+ dataset = load("weather.csv", target="precipitation", normalize="range")
60
+
61
+ # 2. Compute Λ³ structures
62
+ core = LambdaStructuresCore()
63
+ structures = core.compute_lambda_structures(
64
+ dataset.state_vectors, window_steps=24,
65
+ dimension_names=dataset.dimension_names,
66
+ )
67
+
68
+ # 3. Extract causal network
69
+ analyzer = NetworkAnalyzerCore(sync_threshold=0.3, causal_threshold=0.25, max_lag=12)
70
+ network = analyzer.analyze(dataset.state_vectors, dimension_names=dataset.dimension_names)
71
+
72
+ # 4. Assess confidence
73
+ confidence = assess_confidence(
74
+ state_vectors=dataset.state_vectors,
75
+ lambda_structures=structures,
76
+ network_result=network,
77
+ dimension_names=dataset.dimension_names,
78
+ )
79
+ ```
80
+
81
+ ## CLI
82
+
83
+ ```bash
84
+ # Run full pipeline
85
+ getter-one run weather.csv --target precipitation --report report.md
86
+
87
+ # Data preparation
88
+ getter-one-loader load weather.csv --target precipitation -o prepared.csv
89
+ getter-one-loader merge weather.csv air_quality.json --time date -o merged.csv
90
+ getter-one-loader info data.csv
91
+
92
+ # System info
93
+ getter-one info
94
+ getter-one check-gpu
95
+ ```
96
+
97
+ ## Pipeline Architecture
98
+
99
+ ```
100
+ Input Data (csv/json/parquet/xlsx/npy)
101
+
102
+
103
+ ┌─────────────────────────────────┐
104
+ │ Lambda³ Structures (Λ³) │ Closed-form geometric computation
105
+ │ ΛF, ΛFF, ρT, σₛ, Q_Λ, ΔΛC │ No parameters to tune
106
+ └──────────────┬──────────────────┘
107
+
108
+ ┌────────────┼────────────┐
109
+ ▼ ▼ ▼
110
+ ┌──────┐ ┌──────┐ ┌──────────┐
111
+ │Bound │ │Topo │ │Anomaly │ Detection modules
112
+ │ary │ │Break │ │Detection │ (GPU-accelerated)
113
+ └──┬───┘ └──┬───┘ └────┬─────┘
114
+ └─────────┼───────────┘
115
+
116
+ ┌─────────────────────────────────┐
117
+ │ Causal Network Analysis │ Sync + directed causal links
118
+ │ Sync matrix, lag estimation │ Hub/driver/follower detection
119
+ └──────────────┬──────────────────┘
120
+
121
+ ┌─────────────────────────────────┐
122
+ │ Confidence Assessment │ Permutation test → p-values
123
+ │ No MCMC, no Bayesian inference │ Bootstrap → confidence intervals
124
+ └──────────────┬──────────────────┘
125
+
126
+ ┌─────────────────────────────────┐
127
+ │ Report Generation │ Markdown report with all results
128
+ └─────────────────────────────────┘
129
+ ```
130
+
131
+ ## What GETTER One Is (and Isn't)
132
+
133
+ | | GETTER One | Traditional Models |
134
+ |---|---|---|
135
+ | **Purpose** | Structural event detection | Forecasting / prediction |
136
+ | **Method** | Discrete geometry (closed-form) | Regression / deep learning |
137
+ | **Parameters** | Window size only | Thresholds, hyperparameters |
138
+ | **Output** | Events, boundaries, causal network | Predicted values |
139
+ | **Relationship** | Complements prediction models | Competes with each other |
140
+
141
+ GETTER One detects **what changed and why**, not **what will happen next**. It can be used as a feature extractor for prediction models — experiments show that combining raw data with GETTER One features improves Transformer event detection F1 by +5.7% over raw data alone, and outperforms adding 7 additional weather variables (+4.3% vs +6.1%).
142
+
143
+ ## Benchmark Results
144
+
145
+ Causal inference benchmark against 5 established methods on synthetic data with ground truth (6 scenarios, 3 repeats each):
146
+
147
+ | Method | Composite | F1 (dir) | Lag MAE | Sign Acc | Spurious |
148
+ |--------|-----------|----------|---------|----------|----------|
149
+ | **GETTER One** | **0.824** | **0.800** | **0.000** | **1.000** | 0.500 |
150
+ | PCMCI+ | 0.873 | 0.741 | 0.000 | 1.000 | 0.000 |
151
+ | VAR Granger | 0.812 | 0.630 | 0.067 | 0.933 | 0.000 |
152
+ | Transfer Entropy | 0.417 | 0.456 | 0.958 | — | 0.500 |
153
+ | Event XCorr | 0.599 | 0.589 | 0.077 | — | 0.333 |
154
+ | Graphical Lasso | 0.119 | — | — | — | 1.000 |
155
+
156
+ GETTER One achieves **perfect F1 = 1.000** on all event-driven scenarios (S1, S2, S7, S8) with **zero lag error** and **perfect sign accuracy**.
157
+
158
+ ## Real-World Application: Weather Network
159
+
160
+ Analysis of 7 cities around Tokyo (hourly data, October 2024) reveals physically correct causal structures:
161
+
162
+ **Precipitation causal network:**
163
+ - Nagano → Gunma (lag=1h) → Saitama (lag=1h) — inland-to-plains propagation
164
+ - Yamanashi → Gunma (lag=2h) — basin-to-plains flow
165
+ - Drivers: Nagano, Yamanashi (mountain sources)
166
+ - Followers: Saitama, Tochigi (downstream receivers)
167
+
168
+ **Cross-variable causality (42D full analysis):**
169
+ - Temperature changes → Surface pressure changes (lag=2-3h) — thermodynamic law rediscovered from data alone
170
+
171
+ ## Supported Data Formats
172
+
173
+ | Format | Extension | Read | Write |
174
+ |--------|-----------|------|-------|
175
+ | CSV / TSV | `.csv`, `.tsv` | ✅ | ✅ |
176
+ | JSON | `.json` | ✅ | — |
177
+ | Parquet | `.parquet` | ✅ | — |
178
+ | Excel | `.xlsx`, `.xls` | ✅ | — |
179
+ | NumPy | `.npy`, `.npz` | ✅ | ✅ |
180
+
181
+ ## Project Structure
182
+
183
+ ```
184
+ getter_one/
185
+ ├── data/ Data loading & merging (multi-format)
186
+ ├── structures/ Lambda³ structural computation (CPU)
187
+ ├── core/ GPU infrastructure (CuPy/CUDA)
188
+ ├── detection/ Boundary, topology, anomaly, phase-space detection
189
+ ├── analysis/ Network analysis, confidence assessment, report generation
190
+ ├── pipeline.py Full pipeline orchestration
191
+ └── cli.py Command-line interface
192
+ ```
193
+
194
+ ## Related Projects
195
+
196
+ - [**BANKAI-MD**](https://github.com/miosync-masa/bankai) — GPU-accelerated molecular dynamics analysis built on the same Lambda³ theory. GETTER One is the domain-agnostic generalization; BANKAI-MD is the MD-specialized implementation.
197
+
198
+ ## Citation
199
+
200
+ Paper in preparation. If you use GETTER One in your research, please cite this repository.
201
+
202
+ ## License
203
+
204
+ MIT License — see [LICENSE](LICENSE) for details.
205
+
206
+ ---
207
+
208
+ *Built with 💕 by Masamichi & Tamaki*
209
+
210
+ *CHANGE EAGLE // Aerial Type // Structure Detection*