本ドキュメントは実装の依存関係を考慮し、開発に適した順序でブロックを配置している。
イテレータペアで動作する純粋な統計関数群。他の機能の基盤となる。
- 合計 (Sum)
- データ数 (Count / N)
- 平均値 (Mean) — 算術平均 (Arithmetic Mean)
- 中央値 (Median)
- 最頻値 (Mode)
- 幾何平均 (Geometric Mean)
- 調和平均 (Harmonic Mean)
- トリム平均 (Trimmed Mean)
- 重み付き平均 (Weighted Mean)
- 対数平均 (Logarithmic Mean)
- 重み付き調和平均 (Weighted Harmonic Mean)
- 範囲 (Range) — 最大値 - 最小値
- 分散 (Variance) — 母分散 / 標本分散
- 標準偏差 (Standard Deviation) — 母標準偏差 / 標本標準偏差
- 変動係数 (Coefficient of Variation)
- 四分位範囲 (Interquartile Range, IQR)
- 平均偏差 (Mean Absolute Deviation)
- 分散の自由度補正オプション (ddof parameter)
- 重み付き分散 (Weighted Variance)
- 幾何標準偏差 (Geometric Standard Deviation)
- 対数標準偏差 (Log Standard Deviation)
- 最小値 (Minimum)
- 最大値 (Maximum)
- 四分位数 (Quartiles — Q1, Q2, Q3)
- パーセンタイル (Percentiles)
- 五数要約 (Five-Number Summary)
- argmin / argmax (インデックス取得)
- 分位点の補間法指定 (Quantile interpolation methods)
- 重み付きパーセンタイル (Weighted Percentiles)
- 重み付き中央値 (Weighted Median)
- デシル (Deciles)
- パーセンタイルランク (Percentile Rank)
- 歪度 (Skewness)
- 尖度 (Kurtosis)
- 歪度・尖度のバイアス補正 (Bias-corrected Skewness/Kurtosis)
- 中心モーメント (Central Moments)
- 高次統計量 (Higher-order Statistics)
- 共分散 (Covariance)
- ピアソン相関係数 (Pearson Correlation Coefficient)
- スピアマン順位相関係数 (Spearman's Rank Correlation)
- ケンドール順位相関係数 (Kendall's Tau)
- 偏相関 (Partial Correlation)
- 重み付き共分散 (Weighted Covariance)
- 重み付き相関行列 (Weighted Correlation Matrix)
- 度数表 (Frequency Table)
- 相対度数 (Relative Frequency)
- 累積度数 (Cumulative Frequency)
- 累積相対度数 (Cumulative Relative Frequency)
- ヒストグラム計算 (Histogram Computation)
- ビン統計 (Binned Statistics)
- 自動ビン決定 (Automatic Binning: Scott/Freedman-Diaconis)
- skip-NaN 集約 (NaN-aware Aggregations)
- 部分選択 (破壊的/非破壊的) (Partial Selection)
- カーネル密度推定 (Kernel Density Estimation, KDE)
Module 1 未実装項目の理由:
- 分散の自由度補正オプション (ddof): 既存の
population_varianceとsample_varianceで対応可能。追加APIは冗長。 - 対数標準偏差: 幾何標準偏差で類似機能を提供済み。使用頻度が低い。
- 分位点の補間法指定: 現在の線形補間(R type=7相当)で十分実用的。複数の補間法に対応するとAPIが複雑化。
- デシル、パーセンタイルランク:
percentile関数で実現可能。専用関数は不要。 - バイアス補正歪度・尖度、中心モーメント、高次統計量: 使用頻度が低く、実装の優先度が低い。
- 偏相関: 線形回帰の残差相関で代替可能。専用実装は複雑。
- 重み付き相関行列: 個別の重み付き共分散から構築可能。
- ヒストグラム計算、ビン統計、自動ビン決定: 可視化寄りの機能。ヘッダーオンリーライブラリの範囲外。
- skip-NaN 集約: C++では明示的なNaNチェックをユーザー側で実施する設計。
- 部分選択:
std::nth_element等の標準アルゴリズムで対応可能。 - カーネル密度推定 (KDE): 複雑なアルゴリズム。外部ライブラリ推奨。
検定・推定の基盤。各分布について pdf/pmf, cdf, quantile, rng の4機能を実装対象とする。
確率分布の実装に必要な特殊関数を先に整備する。
- ガンマ関数 / 対数ガンマ関数 (Gamma / Log-Gamma Function)
- ベータ関数 / 不完全ベータ関数 (Beta / Incomplete Beta Function)
- 誤差関数 (Error Function, erf/erfc)
- 正規分布関連(Φ, Φ⁻¹)(Normal CDF & Quantile)
- その他の特殊関数 (Additional Special Functions)
- 乱数エンジン(seed と再現性)(RNG Engine (Seed & Reproducibility))
実装順序: 基本的な分布から、他の分布の基盤となるものを優先
-
- 一様分布 (Uniform Distribution) — pdf / cdf / quantile / rng
-
- 正規分布 (Normal Distribution) — pdf / cdf / quantile / rng
-
- 指数分布 (Exponential Distribution) — pdf / cdf / quantile / rng
-
- ガンマ分布 (Gamma Distribution) — pdf / cdf / quantile / rng
-
- ベータ分布 (Beta Distribution) — pdf / cdf / quantile / rng
-
- χ² 分布 (Chi-square Distribution) — pdf / cdf / quantile / rng ※ガンマ分布の特殊ケース
-
- t 分布 (t-Distribution) — pdf / cdf / quantile / rng
-
- F 分布 (F-Distribution) — pdf / cdf / quantile / rng
-
- 対数正規分布 (Log-normal Distribution) — pdf / cdf / quantile / rng
-
- ワイブル分布 (Weibull Distribution) — pdf / cdf / quantile / rng
-
- ロジスティック分布 (Logistic Distribution) — pdf / cdf / quantile / rng
-
- ラプラス分布 (Laplace Distribution) — pdf / cdf / quantile / rng
-
- コーシー分布 (Cauchy Distribution) — pdf / cdf / quantile / rng
-
- パレート分布 (Pareto Distribution) — pdf / cdf / quantile / rng
-
- 逆ガンマ分布 (Inverse Gamma Distribution) — pdf / cdf / quantile / rng
-
- グンベル分布(極値分布 I 型)(Gumbel Distribution) — pdf / cdf / quantile / rng
-
- 三角分布 (Triangular Distribution) — pdf / cdf / quantile / rng
-
- エルラン分布 (Erlang Distribution) — pdf / cdf / quantile / rng
-
- 二項分布 (Binomial Distribution) — pmf / cdf / quantile / rng
-
- ポアソン分布 (Poisson Distribution) — pmf / cdf / quantile / rng
-
- 幾何分布 (Geometric Distribution) — pmf / cdf / quantile / rng
-
- 負の二項分布 (Negative Binomial Distribution) — pmf / cdf / quantile / rng
-
- 超幾何分布 (Hypergeometric Distribution) — pmf / cdf / quantile / rng
-
- ベルヌーイ分布 (Bernoulli Distribution) — pmf / cdf / quantile / rng
-
- カテゴリカル分布 (Categorical Distribution) — pmf / cdf / quantile / rng
-
- 多項分布 (Multinomial Distribution) — pmf / cdf / quantile / rng
-
- 離散一様分布 (Discrete Uniform Distribution) — pmf / cdf / quantile / rng
- 多変量正規分布 (Multivariate Normal Distribution)
- 多変量 t 分布 (Multivariate Student's t Distribution)
- ディリクレ分布 (Dirichlet Distribution)
- 対数尤度(logpdf/logpmf)API (Log-likelihood APIs)
- 生存関数 (Survival Function)
- ハザード関数 (Hazard Function)
- 分布の理論量(平均・分散・歪度・尖度)(Theoretical Moments)
- 分布のパラメータ推定 (Parameter Estimation for Distributions)
- 経験分布 (Empirical Distribution)
- ディラックデルタ分布 (Dirac Delta Distribution)
Module 2 未実装項目の理由:
- 追加の連続分布(ロジスティック、ラプラス、コーシー等): 主要な分布は実装済み。追加分布は使用頻度が限定的。
- カテゴリカル分布、多項分布: 多次元配列の扱いが必要で、ヘッダーオンリーでは複雑。ベルヌーイ・二項分布で代替可能。
- 多変量分布: 線形代数ライブラリ(行列演算、コレスキー分解等)が必要。ヘッダーオンリーの範囲を大きく超える。
- 対数尤度 API:
std::log(pdf(x))で簡単に実現可能。専用APIは冗長。 - 生存関数、ハザード関数: 生存時間解析で実装済み(Kaplan-Meier等)。分布関数としての汎用実装は優先度低。
- 分布の理論量: 各分布の平均・分散は数式が既知。関数化する価値は限定的。
- パラメータ推定: 最尤推定、モーメント法は複雑な最適化が必要。Phase 3-4の範囲。
- 経験分布: データから直接計算可能。専用の分布クラスは不要。
- ディラックデルタ分布: 理論的な概念。数値計算での実用性が低い。
- その他の特殊関数: 現在実装されている特殊関数で主要な分布をカバー済み。
確率分布に依存。統計的検定と推定。
- 標準誤差(推定)(Standard Error Estimation)
- 信頼区間(平均・比率・分散など)(Confidence Intervals (Mean/Proportion/Variance, etc.))
- 平均の誤差限界 (Mean Margin of Error)
- 比率の誤差限界 (Proportion Margin of Error)
- 最悪ケースの比率誤差限界 (Worst-case Proportion Margin of Error)
- 2標本平均差の推定 (Two-sample Mean Difference)
- 2標本比率差の推定 (Two-sample Proportion Difference)
- 最尤推定 (Maximum Likelihood Estimation, MLE)
- モーメント法 (Method of Moments)
- z 検定(平均・比率)(z-tests (Mean/Proportion))
- t 検定(1標本・2標本・対応あり)(t-tests (1-sample/2-sample/paired))
- χ² 検定(適合度・独立性)(Chi-square Tests (GOF/Independence))
- F 検定(分散の比較など)(F-tests (Variance Comparison, etc.))
- 比率検定 (Proportion Tests)
- 片側/両側の整理 (One-sided/Two-sided Testing)
- 多重検定補正(Bonferroni, BH など)(Multiple Testing Correction (Bonferroni, BH, etc.))
- その他の多重検定補正法 (Additional Multiple Testing Corrections)
- 正規性検定(Shapiro–Wilk、Anderson–Darling、KS など)(Normality Tests)
- 等分散性検定(Levene、Bartlett など)(Homoscedasticity Tests)
- Wilcoxon 符号付順位検定 (Wilcoxon Signed-rank Test)
- Mann–Whitney U 検定 (Mann–Whitney U Test)
- Kruskal–Wallis 検定 (Kruskal–Wallis Test)
- 順位相関(Spearman/Kendall)の整理 (Rank Correlations (Spearman/Kendall))
- Fisher の正確確率検定 (Fisher's Exact Test)
- 効果量(Cohen's d、Hedges' g、相関の効果量等)(Effect Sizes)
- 検出力(Power)とサンプルサイズ設計(基礎)(Power Analysis & Sample Size Planning)
- ブートストラップ(CI・バイアス補正)(Bootstrap (CIs/Bias Correction))
- 置換検定 (Permutation Tests)
- 交差検証(基盤)(Cross-validation (Core Utilities))
- その他の再標本化手法 (Additional Resampling Methods)
Module 3 未実装項目の理由:
- 最尤推定 (MLE)、モーメント法: 複雑な最適化アルゴリズムが必要。Phase 4のモデリングで部分的に対応済み(GLMなど)。汎用的なMLE実装は範囲外。
- その他の多重検定補正法: Bonferroni、Benjamini-Hochbergで主要なケースをカバー済み。追加の補正法は使用頻度が低い。
- その他の再標本化手法: ブートストラップ、置換検定、交差検証で主要な手法を実装済み。ジャックナイフ等は類似の概念で代替可能。
推測統計に依存。回帰・GLM・ANOVA。
- 最小二乗推定 (Least Squares Estimation)
- 回帰係数の標準誤差と検定 (Coefficient SEs & Tests)
- 決定係数 R² (R-squared)
- 残差診断 (Residual Diagnostics)
- 多重共線性(VIF 等)(Multicollinearity (VIF, etc.))
- 予測区間 (Prediction Intervals)
- ロバスト回帰(Huber、RANSAC 等)(Robust Regression)
- 一元/二元 ANOVA (One-way/Two-way ANOVA)
- ANCOVA (ANCOVA)
- 交互作用 (Interaction Effects)
- 事後比較(Tukey、Dunnett など)(Post-hoc Comparisons)
- ロジスティック回帰 (Logistic Regression)
- ポアソン回帰 (Poisson Regression)
- リンク関数と分散関数 (Link & Variance Functions)
- 反復最適化(IRLS 等)(Iterative Optimization (IRLS, etc.))
- 逸脱度と適合度指標 (Deviance & Goodness-of-fit Metrics)
- ロジスティック回帰の拡張(正則化等)(Extended Logistic Regression)
- モデル選択指標(AIC/BIC/調整済みR²)(Model Selection Criteria)
- 正則化回帰(Ridge/Lasso/Elastic Net)(Regularized Regression)
- 交差検証の具体(k-fold/層化/時系列CV)(Cross-validation Variants)
- 混合効果モデル(LMM/GLMM)(Mixed-effects Models)
- 一般化加法モデル(GAM)(Generalized Additive Models)
- 多重共線性診断の拡張(条件数など)(Extended Multicollinearity Diagnostics)
- 共役事前分布(基礎)(Conjugate Priors (Basics))
- MCMC(導入)(MCMC (Introduction))
- 変分推論(必要なら)(Variational Inference (Optional))
- モデル比較 (Model Comparison)
- 事後確率・ベイズファクター(任意)(Posterior Probability / Bayes Factor)
Module 4 未実装項目の理由:
- ロバスト回帰(Huber、RANSAC等): 反復最適化と重み付け再計算が必要。実装が複雑で、外部ライブラリ(例: Ceres Solver)推奨。
- ロジスティック回帰の拡張(正則化等): Ridge/Lasso回帰で正則化の概念を実装済み。ロジスティック回帰への適用は類似の実装で対応可能だが、優先度低。
- 混合効果モデル(LMM/GLMM): ランダム効果の推定に複雑な行列演算と最適化が必要。専門ライブラリ(lme4、nlme等)の使用を推奨。
- 一般化加法モデル(GAM): スプライン関数の実装と平滑化パラメータの選択が必要。非常に複雑。
- ベイズ推定(MCMC、変分推論等): 大規模な数値計算基盤が必要。Stan、PyMC等の専門ツールに任せるべき。共役事前分布のみの実装も実用性が限定的。
特定のデータ構造やドメインに紐づく分析手法。Phase 1-4 の機能を活用。
- 共分散/相関行列 (Covariance/Correlation Matrix)
- PCA(主成分分析)(Principal Component Analysis, PCA)
- 因子分析 (Factor Analysis)
- 判別分析(必要なら)(Discriminant Analysis (Optional))
- 標準化/スケーリングの統合 (Standardization/Scaling Integration)
- 標準化・スコアリングの拡張 (Extended Standardization/Scoring)
- 自己相関/偏自己相関 (ACF/PACF)
- ARIMA(基礎)(ARIMA (Basics))
- 季節性の扱い (Seasonality Handling)
- 予測評価(誤差指標: MAE/RMSE/MAPE 等)(Forecast Evaluation)
- 時系列分解(STL 等)(Time Series Decomposition)
- ARIMA/季節性の拡張 (Extended ARIMA/Seasonality)
- 分割表(クロス集計)(Contingency Tables)
- オッズ比・相対リスク (Odds Ratio / Relative Risk)
- ロジ線形モデル(必要なら)(Log-linear Models (Optional))
- Kaplan–Meier 推定 (Kaplan–Meier Estimator)
- log-rank 検定 (Log-rank Test)
- Cox 比例ハザード回帰 (Cox Proportional Hazards Model)
- 生存解析の拡張機能 (Extended Survival Analysis)
- 中央絶対偏差(MAD; Median Absolute Deviation)(Median Absolute Deviation)
- ロバスト推定量(中央値等)の拡張 (Robust Estimators Extensions)
- ロバスト回帰(Huber、RANSAC 等)(Robust Regression (Optional))
- 影響度指標(Cook 距離等)(Influence Measures (Cook's Distance, etc.))
- 外れ値検出(IQR/Tukey、LOF など)(Outlier Detection)
- トリミング・外れ値除去の拡張 (Extended Trimming/Outlier Removal)
- クラスタリング(k-means、階層、DBSCAN 等)(Clustering)
- 次元削減(t-SNE/UMAP; 任意)(Dimensionality Reduction (Optional))
- ユークリッド距離 (Euclidean Distance)
- マンハッタン距離 (Manhattan Distance)
- マハラノビス距離 (Mahalanobis Distance)
- コサイン類似度 (Cosine Similarity)
- その他の統計的距離 (Minkowski, Chebyshev)
- エントロピー (Entropy)
- 相互情報量 (Mutual Information)
- KLダイバージェンス (Kullback-Leibler Divergence)
- JSダイバージェンス (Jensen-Shannon Divergence)
- 情報理論量の差分 (Information-theoretic Differences)
- 円形平均 (Circular Mean)
- 円形分散 (Circular Variance)
- von Mises 分布 (von Mises Distribution)
Module 5 未実装項目の理由:
- 因子分析: 固有値分解と因子回転が必要。線形代数ライブラリへの依存が大きい。PCAで類似の次元削減が可能。
- 判別分析: 線形判別分析(LDA)は線形代数が必要。ロジスティック回帰で代替可能。
- 標準化・スコアリングの拡張: 基本的な標準化は実装済み。追加のスケーリング手法(Robust Scaler等)は優先度低。
- ARIMA(基礎)、季節性の扱い、時系列分解: 非常に複雑なアルゴリズム。専門ライブラリ(statsmodels、forecast等)推奨。
- ロジ線形モデル: GLMの一種として実装可能だが、カテゴリカルデータの扱いが複雑。使用頻度も限定的。
- Cox比例ハザード回帰: 部分尤度の最適化が必要。生存時間解析の基礎(Kaplan-Meier、log-rank検定)は実装済み。Cox回帰は専門的すぎる。
- 生存解析の拡張機能: Kaplan-Meier推定量とlog-rank検定で基本的な解析が可能。競合リスク分析等の拡張は専門的。
- ロバスト回帰: Phase 4と同じ理由。反復最適化が必要で複雑。
- トリミング・外れ値除去の拡張: 基本的な外れ値検出(IQR法、MAD等)は実装済み。追加手法は優先度低。
- 次元削減(t-SNE/UMAP): 非線形次元削減は非常に複雑。反復最適化と近傍探索が必要。専門ライブラリ推奨。
- エントロピー、相互情報量、KLダイバージェンス、JSダイバージェンス: 離散確率分布の場合は実装可能だが、連続分布では数値積分が必要。優先度は中程度だが、今回は距離尺度を優先。
- 情報理論量の差分: 基本的な情報理論量が未実装のため、派生機能も未実装。
- 方向統計(円形平均、円形分散、von Mises分布): 特殊なドメイン(角度データ)向け。使用頻度が非常に限定的。
- データコンテナ設計(Series / DataFrame 相当)(Data Container Design)
- 型システム(数値・カテゴリ・日時・欠損)(Type System)
- 型推論とスキーマ定義 (Type Inference & Schema Definition)
- インデックス/ラベル(row/column 名)(Indexing & Labels)
- CSV/TSV 入出力 (CSV/TSV I/O)
- JSON 入出力 (JSON I/O)
- バイナリ形式(Parquet 等)の検討 (Columnar/Binary Formats)
- 欠損値処理(除外・代入)(Missing Data Handling (Drop/Impute))
- 外れ値処理(検出・除外・Winsorize)(Outlier Handling) ※ robust.hpp で実装済み
- フィルタ・抽出 (Filtering)
- 変換・派生列の作成 (Transformations & Derived Columns)
- グループ化と集約 (Group-by & Aggregation)
- 結合(Join / Merge)(Joins / Merges)
- リシェイプ(wide/long)(Reshaping (Wide/Long))
- ソート(単一キー/複合キー、安定ソート)(Sorting)
- サンプリング(無作為/層化/重複あり・なし)(Sampling)
- 重複行の検出・除去 (Duplicate Detection & Deduplication)
- ローリング/ウィンドウ集計(移動平均・移動分散など)(Rolling/Window Aggregations)
- カテゴリのエンコード(one-hot/ordinal 等)(Categorical Encoding)
- 基本的なデータ検証(範囲・型・欠損率など)(Data Validation)
- MCAR/MAR/MNAR の整理 (MCAR/MAR/MNAR Taxonomy)
- 多重代入 (Multiple Imputation)
- 感度分析 (Sensitivity Analysis)
Module 6 未実装項目の理由: 統計関数とは独立して開発可能。大規模な設計が必要なため、コア機能完成後に着手。
- ヒストグラム(ビン決定: Scott/Freedman–Diaconis 等)(Histogram)
- 箱ひげ図 (Box Plot)
- QQ プロット (Q-Q Plot)
- 散布図 (Scatter Plot)
- 散布図行列 (Scatterplot Matrix)
- 相関ヒートマップ (Correlation Heatmap)
- カテゴリ別比較(棒・バイオリン等)(Category-wise Comparison)
- 回帰診断プロット(残差 vs 予測、QQ、影響度)(Regression Diagnostic Plots)
- ACF/PACF プロット (ACF/PACF Plots)
- ROC 曲線・AUC(分類モデルが入る場合)(ROC Curve & AUC)
Module 7 未実装項目の理由: 他の機能が揃ってから着手。外部ライブラリとの連携も検討。
各 Module と並行して整備。
- 最適化(勾配・ヘッセ・収束判定)(Optimization)
- 線形代数(分解・安定化)(Linear Algebra)
- 数値安定性と精度設計 (Numerical Stability & Precision Design)
- 数値積分(CDF/期待値計算のため)(Numerical Integration)
- 数値微分と自動微分(任意)(Numerical/Automatic Differentiation)
- 性能最適化(SIMD/並列化の検討)(Performance Optimization)
- 精度・収束ユーティリティ (Precision & Convergence Utilities)
- 乱数と環境情報の固定 (RNG & Environment Capture)
- 分析ログ(パラメータ・バージョン)(Analysis Logging)
- 結果オブジェクトのシリアライズ (Result Object Serialization)
- 表/レポート向け整形出力 (Formatted Output for Tables/Reports)
- パイプライン/チェーン API (Pipeline/Chaining API)
- エラーモデルと例外設計 (Error Model & Exception Design)
- 拡張点(プラグイン設計)(Extensibility (Plugin Architecture))
- 他言語バインディング(必要なら)(Language Bindings (Optional))
- テスト(既知値・境界値・ランダムテスト)(Testing)
- ベンチマーク(アルゴリズム別の性能比較)(Benchmarking)
Module 8 未実装項目の理由:
数値計算基盤:
- 最適化(勾配・ヘッセ・収束判定): 複雑な最適化アルゴリズム(BFGS、L-BFGS等)は外部ライブラリ(Ceres、NLopt等)推奨。汎用的な実装はヘッダーオンリーの範囲を大きく超える。
- 線形代数(分解・安定化): LU分解、QR分解、SVD等は大規模な実装が必要。Eigen、Armadillo等の専門ライブラリ使用を推奨。
- 数値積分: 既存の特殊関数(不完全ベータ関数、ガンマ関数等)で主要な確率分布のCDFを実装済み。追加の汎用数値積分は優先度低。
- 数値微分と自動微分: 有限差分法は簡単に実装可能だが精度が低い。自動微分はテンプレートメタプログラミングで実装可能だが非常に複雑。外部ライブラリ(autodiff、CppAD等)推奨。
- 性能最適化(SIMD/並列化): コンパイラ依存、プラットフォーム依存の実装が必要。ヘッダーオンリーライブラリでは保守性が低下。最適化はコンパイラに任せる方針。
再現性・レポーティング:
- 乱数と環境情報の固定:
random_engine.hppで乱数シード設定が可能。環境情報(OS、コンパイラバージョン等)のキャプチャはヘッダーオンリーでは困難。 - 分析ログ、結果のシリアライズ: ファイルI/Oが必要。ヘッダーオンリーライブラリの範囲外。ユーザー側で実装すべき機能。
- 表/レポート向け整形出力: 統計結果の表示形式はユーザーのニーズに大きく依存。標準的なフォーマットを強制するよりも、計算結果の構造体を返してユーザーが自由にフォーマットする方が柔軟。
API設計・相互運用:
- パイプライン/チェーン API: 現在のイテレータベースAPIを大幅に変更する必要がある。既存の設計との互換性が失われる。Ranges library(C++20以降)の普及を待つべき。
- エラーモデルと例外設計: 全関数で
std::invalid_argumentによる例外処理を統一実装済み。追加の設計は不要。 - 拡張点(プラグイン設計): ヘッダーオンリーライブラリではプラグイン機構の実装が困難。ユーザーは既存の関数を組み合わせて独自の分析を実装可能。
- 他言語バインディング: Python(pybind11)、R(Rcpp)等のバインディングは別プロジェクトとして開発すべき。statcpp自体はC++ライブラリとして完結。
テスト・ベンチマーク:
- テスト(既知値・境界値・ランダムテスト): Phase 1-5と8で各機能のテストコードを作成済み。既知値、境界値、特殊値(NaN、無限大等)を網羅的にテスト。追加の体系的なテストフレームワークは優先度低。
- ベンチマーク(アルゴリズム別の性能比較): ベンチマークはユーザーの環境・データに依存。ライブラリとして提供する価値は限定的。必要に応じてユーザーが実施すべき。
- Phase 1-3: 統計の基礎。最優先で実装
- Phase 4: モデリング。Phase 1-3に依存
- Phase 5: 応用分析。特定ドメイン向け
- Phase 6-7: データ基盤と可視化。大規模設計が必要
- Phase 8: 開発基盤。全体を通じて継続的に整備
- 重み付き統計量: Phase 1に追加(基礎統計の自然な拡張)
- 追加の確率分布: Phase 2に追加(分布の充実)
- 情報理論・距離: Phase 5に新セクション追加(応用的)
- 方向統計: Phase 5に新セクション追加(特殊ドメイン)
- 数値計算基盤の拡張: Phase 8に統合
Phase 1-5の主要機能は実装完了。現在はサンプルコード作成フェーズ。