SQLite3 統計関数ライブラリ — 関数リファレンス
概要
本ライブラリは SQLite3 の LOAD_EXTENSION 機能を使い、統計関数群を SQL から直接利用可能にする拡張モジュールである。
本リファレンスでは 全249関数 を記載している。
| カテゴリ |
関数数 |
説明 |
| 基本集約関数 |
24 |
1カラム集約: SELECT stat_xxx(col) FROM table |
| パラメータ付き集約関数 |
20 |
引数付き集約: SELECT stat_xxx(col, param) FROM table |
| 2カラム集約関数 |
27 |
2列入力集約: SELECT stat_xxx(col1, col2) FROM table |
| ウィンドウ関数 |
23 |
行ごとに値を返す全行スキャン型ウィンドウ関数 |
| 複合集約関数 |
32 |
JSON結果を返す集約関数、2標本検定、生存時間解析等 |
| スカラー関数 — 検定補助 |
40 |
DB非依存: 分布関数、特殊関数、比率検定、多重検定補正等 |
| スカラー関数 — 分布・変換 |
83 |
DB非依存: 追加分布関数、効果量変換、検出力分析等 |
- 基本集約関数〜2カラム集約関数(71関数)はすべて集約関数であり、
GROUP BY、HAVING、サブクエリなど SQLite3 の標準的な集約関数が使えるすべての文脈で利用可能。
- ウィンドウ関数(23関数)は全行スキャン型として実装されており、各行に対して1つの値を返す。
- 複合集約関数(32関数)は集約関数(JSON 結果を返すものを含む)。
- スカラー関数(123関数)はパラメータのみで計算が完結する。
拡張のロード方法
sqlite3 CLI からのロード
-- .load コマンド(推奨)
.load ./ext_funcs sqlite3_ext_funcs_init
-- load_extension() 関数
SELECT load_extension('./ext_funcs', 'sqlite3_ext_funcs_init');
C/C++ プログラムからのロード
sqlite3_enable_load_extension(db, 1);
sqlite3_load_extension(db, "./ext_funcs.dylib",
"sqlite3_ext_funcs_init", &errmsg);
注意: エントリポイント名 sqlite3_ext_funcs_init の明示指定が必要。SQLite の自動推定では _ が除去されるため。
共通仕様
NULL の扱い
- 入力値が
NULL の行は無視される(SQLite3 の集約関数の慣例に準拠)
- すべての行が
NULL の場合、または結果セットが空の場合は NULL を返す
- 計算結果が
NaN または Inf になった場合は NULL を返す
-- NULL を含むデータ
CREATE TABLE sample (val REAL);
INSERT INTO sample VALUES (1), (NULL), (3), (NULL), (5);
-- NULL は無視され、1, 3, 5 の3件で計算される
SELECT stat_mean(val) FROM sample;
-- → 3.0
-- 全行 NULL
SELECT stat_mean(NULL);
-- → NULL
-- 空の結果セット
SELECT stat_mean(val) FROM sample WHERE val > 100;
-- → NULL
最小データ数の要件
一部の関数は計算に最低限必要なデータ数がある。データ数不足時は NULL を返す。
| 関数 |
最小データ数 |
stat_sample_variance, stat_sample_stddev, stat_se, stat_cv |
2 |
stat_population_skewness, stat_skewness |
3 |
stat_population_kurtosis, stat_kurtosis |
4 |
| その他 |
1 |
GROUP BY との併用
すべての集約関数は GROUP BY と併用可能。
SELECT category,
stat_mean(score) AS mean_score,
stat_median(score) AS median_score,
stat_sample_stddev(score) AS stddev_score
FROM exam_results
GROUP BY category;
関数一覧(早見表)
基本集約関数(24関数)
| 関数名 |
説明 |
戻り値 |
最小 n |
詳細 |
stat_mean(col) |
算術平均 |
REAL |
1 |
詳細 |
stat_median(col) |
中央値 |
REAL |
1 |
詳細 |
stat_mode(col) |
最頻値(最小値) |
REAL |
1 |
詳細 |
stat_geometric_mean(col) |
幾何平均 |
REAL |
1 |
詳細 |
stat_harmonic_mean(col) |
調和平均 |
REAL |
1 |
詳細 |
stat_range(col) |
範囲 |
REAL |
1 |
詳細 |
stat_var(col) |
分散(母分散) |
REAL |
1 |
詳細 |
stat_population_variance(col) |
母分散 |
REAL |
1 |
詳細 |
stat_sample_variance(col) |
標本分散(不偏分散) |
REAL |
2 |
詳細 |
stat_stdev(col) |
標準偏差(母) |
REAL |
1 |
詳細 |
stat_population_stddev(col) |
母標準偏差 |
REAL |
1 |
詳細 |
stat_sample_stddev(col) |
標本標準偏差 |
REAL |
2 |
詳細 |
stat_cv(col) |
変動係数 |
REAL |
2 |
詳細 |
stat_iqr(col) |
四分位範囲 |
REAL |
1 |
詳細 |
stat_mad_mean(col) |
平均偏差 |
REAL |
1 |
詳細 |
stat_geometric_stddev(col) |
幾何標準偏差 |
REAL |
1 |
詳細 |
stat_population_skewness(col) |
母歪度 |
REAL |
3 |
詳細 |
stat_skewness(col) |
標本歪度 |
REAL |
3 |
詳細 |
stat_population_kurtosis(col) |
母尖度(超過尖度) |
REAL |
4 |
詳細 |
stat_kurtosis(col) |
標本尖度(超過尖度) |
REAL |
4 |
詳細 |
stat_se(col) |
標準誤差 |
REAL |
2 |
詳細 |
stat_mad(col) |
中央絶対偏差 (MAD) |
REAL |
1 |
詳細 |
stat_mad_scaled(col) |
スケーリング MAD |
REAL |
1 |
詳細 |
stat_hodges_lehmann(col) |
Hodges-Lehmann 推定量 |
REAL |
1 |
詳細 |
パラメータ付き集約関数(20関数)
| 関数名 |
説明 |
戻り値 |
最小 n |
詳細 |
stat_trimmed_mean(col, proportion) |
トリム平均 |
REAL |
1 |
詳細 |
stat_quartile(col) |
四分位数 (Q1,Q2,Q3) |
JSON |
1 |
詳細 |
stat_percentile(col, p) |
パーセンタイル |
REAL |
1 |
詳細 |
stat_z_test(col, mu0, sigma) |
1標本 z 検定 |
JSON |
1 |
詳細 |
stat_t_test(col, mu0) |
1標本 t 検定 |
JSON |
2 |
詳細 |
stat_chisq_gof_uniform(col) |
カイ二乗適合度検定 |
JSON |
2 |
詳細 |
stat_shapiro_wilk(col) |
Shapiro-Wilk 検定 |
JSON |
3 |
詳細 |
stat_ks_test(col) |
Lilliefors 検定(正規性) |
JSON |
2 |
詳細 |
stat_wilcoxon(col, mu0) |
Wilcoxon 符号付順位検定 |
JSON |
2 |
詳細 |
stat_ci_mean(col, confidence) |
平均の信頼区間(t) |
JSON |
2 |
詳細 |
stat_ci_mean_z(col, sigma, confidence) |
平均の信頼区間(z) |
JSON |
2 |
詳細 |
stat_ci_var(col, confidence) |
分散の信頼区間 |
JSON |
2 |
詳細 |
stat_moe_mean(col, confidence) |
平均の誤差マージン |
REAL |
2 |
詳細 |
stat_cohens_d(col, mu0) |
Cohen's d(1標本) |
REAL |
2 |
詳細 |
stat_hedges_g(col, mu0) |
Hedges' g(1標本) |
REAL |
2 |
詳細 |
stat_acf_lag(col, lag) |
自己相関係数 |
REAL |
lag+1 |
詳細 |
stat_biweight_midvar(col, c) |
Biweight Midvariance |
REAL |
1 |
詳細 |
stat_bootstrap_mean(col, n) |
平均のブートストラップ |
JSON |
1 |
詳細 |
stat_bootstrap_median(col, n) |
中央値のブートストラップ |
JSON |
1 |
詳細 |
stat_bootstrap_stddev(col, n) |
標準偏差のブートストラップ |
JSON |
2 |
詳細 |
2カラム集約関数(27関数)
| 関数名 |
説明 |
戻り値 |
最小 n |
詳細 |
stat_population_covariance(x, y) |
母共分散 |
REAL |
1 |
詳細 |
stat_covariance(x, y) |
標本共分散 |
REAL |
2 |
詳細 |
stat_pearson_r(x, y) |
ピアソン相関係数 |
REAL |
2 |
詳細 |
stat_spearman_r(x, y) |
スピアマン順位相関 |
REAL |
2 |
詳細 |
stat_kendall_tau(x, y) |
ケンドール順位相関 |
REAL |
2 |
詳細 |
stat_weighted_covariance(val, wt) |
重み付き共分散 |
REAL |
2 |
詳細 |
stat_weighted_mean(val, wt) |
重み付き平均 |
REAL |
1 |
詳細 |
stat_weighted_harmonic_mean(val, wt) |
重み付き調和平均 |
REAL |
1 |
詳細 |
stat_weighted_variance(val, wt) |
重み付き分散 |
REAL |
2 |
詳細 |
stat_weighted_stddev(val, wt) |
重み付き標準偏差 |
REAL |
2 |
詳細 |
stat_weighted_median(val, wt) |
重み付き中央値 |
REAL |
1 |
詳細 |
stat_weighted_percentile(val, wt, p) |
重み付きパーセンタイル |
REAL |
1 |
詳細 |
stat_simple_regression(x, y) |
単回帰分析 |
JSON |
3 |
詳細 |
stat_r_squared(actual, pred) |
決定係数 R² |
REAL |
2 |
詳細 |
stat_adjusted_r_squared(actual, pred) |
自由度調整済み R² |
REAL |
3 |
詳細 |
stat_t_test_paired(x, y) |
対応のある t 検定 |
JSON |
2 |
詳細 |
stat_chisq_gof(obs, exp) |
カイ二乗適合度検定 |
JSON |
2 |
詳細 |
stat_mae(actual, pred) |
平均絶対誤差 |
REAL |
1 |
詳細 |
stat_mse(actual, pred) |
平均二乗誤差 |
REAL |
1 |
詳細 |
stat_rmse(actual, pred) |
RMSE |
REAL |
1 |
詳細 |
stat_mape(actual, pred) |
平均絶対パーセント誤差 |
REAL |
1 |
詳細 |
stat_euclidean_dist(a, b) |
ユークリッド距離 |
REAL |
1 |
詳細 |
stat_manhattan_dist(a, b) |
マンハッタン距離 |
REAL |
1 |
詳細 |
stat_cosine_sim(a, b) |
コサイン類似度 |
REAL |
1 |
詳細 |
stat_cosine_dist(a, b) |
コサイン距離 |
REAL |
1 |
詳細 |
stat_minkowski_dist(a, b, p) |
ミンコフスキー距離 |
REAL |
1 |
詳細 |
stat_chebyshev_dist(a, b) |
チェビシェフ距離 |
REAL |
1 |
詳細 |
ウィンドウ関数(23関数)
| 関数名 |
説明 |
戻り値 |
詳細 |
stat_rolling_mean(col, window) |
ローリング平均 |
REAL/行 |
詳細 |
stat_rolling_std(col, window) |
ローリング標準偏差 |
REAL/行 |
詳細 |
stat_rolling_min(col, window) |
ローリング最小値 |
REAL/行 |
詳細 |
stat_rolling_max(col, window) |
ローリング最大値 |
REAL/行 |
詳細 |
stat_rolling_sum(col, window) |
ローリング合計 |
REAL/行 |
詳細 |
stat_moving_avg(col, window) |
単純移動平均 |
REAL/行 |
詳細 |
stat_ema(col, span) |
指数移動平均 |
REAL/行 |
詳細 |
stat_rank(col) |
順位変換 |
REAL/行 |
詳細 |
stat_fillna_mean(col) |
平均値補完 |
REAL/行 |
詳細 |
stat_fillna_median(col) |
中央値補完 |
REAL/行 |
詳細 |
stat_fillna_ffill(col) |
前方補完 |
REAL/行 |
詳細 |
stat_fillna_bfill(col) |
後方補完 |
REAL/行 |
詳細 |
stat_fillna_interp(col) |
線形補間 |
REAL/行 |
詳細 |
stat_label_encode(col) |
ラベルエンコーディング |
REAL/行 |
詳細 |
stat_bin_width(col, n_bins) |
等幅ビニング |
REAL/行 |
詳細 |
stat_bin_freq(col, n_bins) |
等頻度ビニング |
REAL/行 |
詳細 |
stat_lag(col, k) |
ラグ |
REAL/行 |
詳細 |
stat_diff(col, order) |
差分 |
REAL/行 |
詳細 |
stat_seasonal_diff(col, period) |
季節差分 |
REAL/行 |
詳細 |
stat_outliers_iqr(col) |
外れ値検出(IQR) |
REAL/行 |
詳細 |
stat_outliers_zscore(col) |
外れ値検出(Zスコア) |
REAL/行 |
詳細 |
stat_outliers_mzscore(col) |
外れ値検出(修正Z) |
REAL/行 |
詳細 |
stat_winsorize(col, pct) |
ウィンザライズ |
REAL/行 |
詳細 |
複合集約関数(32関数)
| 関数名 |
説明 |
戻り値 |
詳細 |
stat_modes(col) |
最頻値(すべて) |
JSON |
詳細 |
stat_five_number_summary(col) |
五数要約 |
JSON |
詳細 |
stat_frequency_table(col) |
度数表 |
JSON |
詳細 |
stat_frequency_count(col) |
各値の度数 |
JSON |
詳細 |
stat_relative_frequency(col) |
相対度数 |
JSON |
詳細 |
stat_cumulative_frequency(col) |
累積度数 |
JSON |
詳細 |
stat_cumulative_relative_frequency(col) |
累積相対度数 |
JSON |
詳細 |
stat_t_test2(grp1, grp2) |
2標本 t 検定 |
JSON |
詳細 |
stat_t_test_welch(grp1, grp2) |
Welch t 検定 |
JSON |
詳細 |
stat_chisq_independence(col1, col2) |
カイ二乗独立性検定 |
JSON |
詳細 |
stat_f_test(grp1, grp2) |
F 検定 |
JSON |
詳細 |
stat_mann_whitney(grp1, grp2) |
Mann-Whitney U 検定 |
JSON |
詳細 |
stat_anova1(val, grp) |
一元配置分散分析 |
JSON |
詳細 |
stat_contingency_table(col1, col2) |
分割表 |
JSON |
詳細 |
stat_cohens_d2(grp1, grp2) |
Cohen's d(2標本) |
REAL |
詳細 |
stat_hedges_g2(grp1, grp2) |
Hedges' g(2標本) |
REAL |
詳細 |
stat_glass_delta(ctrl, trt) |
Glass's Delta |
REAL |
詳細 |
stat_ci_mean_diff(grp1, grp2) |
2標本平均差の信頼区間 |
JSON |
詳細 |
stat_ci_mean_diff_welch(grp1, grp2) |
Welch 法の信頼区間 |
JSON |
詳細 |
stat_kaplan_meier(time, event) |
Kaplan-Meier 生存曲線 |
JSON |
詳細 |
stat_nelson_aalen(time, event) |
Nelson-Aalen 累積ハザード |
JSON |
詳細 |
stat_logrank(time, event, grp) |
Log-rank 検定 |
JSON |
詳細 |
stat_bootstrap(col, n) |
汎用ブートストラップ |
JSON |
詳細 |
stat_bootstrap_bca(col, n) |
BCa ブートストラップ |
JSON |
詳細 |
stat_bootstrap_sample(col) |
ブートストラップサンプル |
JSON |
詳細 |
stat_permutation_test2(grp1, grp2) |
2標本置換検定 |
JSON |
詳細 |
stat_permutation_paired(x, y) |
対応のある置換検定 |
JSON |
詳細 |
stat_permutation_corr(x, y) |
相関の置換検定 |
JSON |
詳細 |
stat_acf(col, max_lag) |
自己相関関数 |
JSON |
詳細 |
stat_pacf(col, max_lag) |
偏自己相関関数 |
JSON |
詳細 |
stat_sample_replace(col, n) |
復元抽出 |
JSON |
詳細 |
stat_sample(col, n) |
非復元抽出 |
JSON |
詳細 |
スカラー関数 — 検定補助(40関数)
| 関数名 |
説明 |
戻り値 |
詳細 |
stat_normal_pdf(x [,mu, sigma]) |
正規分布 PDF |
REAL |
詳細 |
stat_normal_cdf(x [,mu, sigma]) |
正規分布 CDF |
REAL |
詳細 |
stat_normal_quantile(p [,mu, sigma]) |
正規分布分位点 |
REAL |
詳細 |
stat_normal_rand([mu, sigma]) |
正規分布乱数 |
REAL |
詳細 |
stat_chisq_pdf(x, df) |
カイ二乗分布 PDF |
REAL |
詳細 |
stat_chisq_cdf(x, df) |
カイ二乗分布 CDF |
REAL |
詳細 |
stat_chisq_quantile(p, df) |
カイ二乗分布分位点 |
REAL |
詳細 |
stat_chisq_rand(df) |
カイ二乗分布乱数 |
REAL |
詳細 |
stat_t_pdf(x, df) |
t 分布 PDF |
REAL |
詳細 |
stat_t_cdf(x, df) |
t 分布 CDF |
REAL |
詳細 |
stat_t_quantile(p, df) |
t 分布分位点 |
REAL |
詳細 |
stat_t_rand(df) |
t 分布乱数 |
REAL |
詳細 |
stat_f_pdf(x, df1, df2) |
F 分布 PDF |
REAL |
詳細 |
stat_f_cdf(x, df1, df2) |
F 分布 CDF |
REAL |
詳細 |
stat_f_quantile(p, df1, df2) |
F 分布分位点 |
REAL |
詳細 |
stat_f_rand(df1, df2) |
F 分布乱数 |
REAL |
詳細 |
stat_betainc(a, b, x) |
正則化不完全ベータ関数 |
REAL |
詳細 |
stat_betaincinv(a, b, p) |
不完全ベータ逆関数 |
REAL |
詳細 |
stat_norm_cdf(x) |
標準正規分布 CDF |
REAL |
詳細 |
stat_norm_quantile(p) |
標準正規分布逆 CDF |
REAL |
詳細 |
stat_gammainc_lower(a, x) |
下側不完全ガンマ関数 |
REAL |
詳細 |
stat_gammainc_upper(a, x) |
上側不完全ガンマ関数 |
REAL |
詳細 |
stat_gammainc_lower_inv(a, p) |
不完全ガンマ逆関数 |
REAL |
詳細 |
stat_z_test_prop(x, n, p0) |
1標本比率 z 検定 |
JSON |
詳細 |
stat_z_test_prop2(x1, n1, x2, n2) |
2標本比率 z 検定 |
JSON |
詳細 |
stat_bonferroni(p, m) |
Bonferroni 補正 |
REAL |
詳細 |
stat_bh_correction(p, rank, total) |
BH 補正 |
REAL |
詳細 |
stat_holm_correction(p, rank, total) |
Holm 補正 |
REAL |
詳細 |
stat_fisher_exact(a, b, c, d) |
Fisher 正確確率検定 |
JSON |
詳細 |
stat_odds_ratio(a, b, c, d) |
オッズ比 |
REAL |
詳細 |
stat_relative_risk(a, b, c, d) |
相対リスク |
REAL |
詳細 |
stat_risk_difference(a, b, c, d) |
リスク差 |
REAL |
詳細 |
stat_nnt(a, b, c, d) |
治療必要数 |
REAL |
詳細 |
stat_ci_prop(x, n [,conf]) |
比率の信頼区間(Wald) |
JSON |
詳細 |
stat_ci_prop_wilson(x, n [,conf]) |
比率の信頼区間(Wilson) |
JSON |
詳細 |
stat_ci_prop_diff(x1, n1, x2, n2 [,conf]) |
比率差の信頼区間 |
JSON |
詳細 |
stat_aic(ll, k) |
AIC |
REAL |
詳細 |
stat_aicc(ll, n, k) |
AICc |
REAL |
詳細 |
stat_bic(ll, n, k) |
BIC |
REAL |
詳細 |
stat_boxcox(x, lambda) |
Box-Cox 変換 |
REAL |
詳細 |
スカラー関数 — 分布・変換(83関数)
| 関数名 |
説明 |
戻り値 |
詳細 |
stat_uniform_pdf/cdf/quantile/rand |
一様分布(4関数) |
REAL |
詳細 |
stat_exponential_pdf/cdf/quantile/rand |
指数分布(4関数) |
REAL |
詳細 |
stat_gamma_pdf/cdf/quantile/rand |
ガンマ分布(4関数) |
REAL |
詳細 |
stat_beta_pdf/cdf/quantile/rand |
ベータ分布(4関数) |
REAL |
詳細 |
stat_lognormal_pdf/cdf/quantile/rand |
対数正規分布(4関数) |
REAL |
詳細 |
stat_weibull_pdf/cdf/quantile/rand |
ワイブル分布(4関数) |
REAL |
詳細 |
stat_binomial_pmf/cdf/quantile/rand |
二項分布(4関数) |
REAL |
詳細 |
stat_poisson_pmf/cdf/quantile/rand |
ポアソン分布(4関数) |
REAL |
詳細 |
stat_geometric_pmf/cdf/quantile/rand |
幾何分布(4関数) |
REAL |
詳細 |
stat_nbinom_pmf/cdf/quantile/rand |
負の二項分布(4関数) |
REAL |
詳細 |
stat_hypergeom_pmf/cdf/quantile/rand |
超幾何分布(4関数) |
REAL |
詳細 |
stat_bernoulli_pmf/cdf/quantile/rand |
ベルヌーイ分布(4関数) |
REAL |
詳細 |
stat_duniform_pmf/cdf/quantile/rand |
離散一様分布(4関数) |
REAL |
詳細 |
stat_binomial_coef(n, k) |
二項係数 |
INTEGER |
詳細 |
stat_log_binomial_coef(n, k) |
対数二項係数 |
REAL |
詳細 |
stat_log_factorial(n) |
対数階乗 |
REAL |
詳細 |
stat_lgamma(x) |
対数ガンマ関数 |
REAL |
詳細 |
stat_tgamma(x) |
ガンマ関数 |
REAL |
詳細 |
stat_beta_func(a, b) |
ベータ関数 |
REAL |
詳細 |
stat_lbeta(a, b) |
対数ベータ関数 |
REAL |
詳細 |
stat_erf(x) |
誤差関数 |
REAL |
詳細 |
stat_erfc(x) |
相補誤差関数 |
REAL |
詳細 |
stat_logarithmic_mean(a, b) |
対数平均 |
REAL |
詳細 |
stat_hedges_j(n) |
Hedges 補正係数 |
REAL |
詳細 |
stat_t_to_r(t, df) |
t → r 変換 |
REAL |
詳細 |
stat_d_to_r(d) |
d → r 変換 |
REAL |
詳細 |
stat_r_to_d(r) |
r → d 変換 |
REAL |
詳細 |
stat_eta_squared_ef(ss_eff, ss_total) |
イータ二乗 |
REAL |
詳細 |
stat_partial_eta_sq(F, df1, df2) |
偏イータ二乗 |
REAL |
詳細 |
stat_omega_squared_ef(ss_eff, ss_tot, ms_err, df_eff) |
オメガ二乗 |
REAL |
詳細 |
stat_cohens_h(p1, p2) |
Cohen's h |
REAL |
詳細 |
stat_interpret_d(d) |
Cohen's d 解釈 |
TEXT |
詳細 |
stat_interpret_r(r) |
相関係数解釈 |
TEXT |
詳細 |
stat_interpret_eta2(eta2) |
イータ二乗解釈 |
TEXT |
詳細 |
stat_power_t1(d, n, alpha) |
1標本検出力 |
REAL |
詳細 |
stat_n_t1(d, power, alpha) |
1標本必要 n |
REAL |
詳細 |
stat_power_t2(d, n1, n2, alpha) |
2標本検出力 |
REAL |
詳細 |
stat_n_t2(d, power, alpha) |
2標本必要 n |
REAL |
詳細 |
stat_power_prop(p1, p2, n, alpha) |
比率検出力 |
REAL |
詳細 |
stat_n_prop(p1, p2, power, alpha) |
比率必要 n |
REAL |
詳細 |
stat_moe_prop(x, n [,conf]) |
比率の誤差マージン |
REAL |
詳細 |
stat_moe_prop_worst(n [,conf]) |
最悪ケース誤差マージン |
REAL |
詳細 |
stat_n_moe_prop(moe [,conf [,p]]) |
比率推定の必要 n |
REAL |
詳細 |
stat_n_moe_mean(moe, sigma [,conf]) |
平均推定の必要 n |
REAL |
詳細 |
実践的な使用例
記述統計の一括取得
SELECT
COUNT(val) AS n,
stat_mean(val) AS mean,
stat_median(val) AS median,
stat_mode(val) AS mode,
stat_sample_stddev(val) AS stddev,
stat_sample_variance(val) AS variance,
MIN(val) AS min,
MAX(val) AS max,
stat_range(val) AS range,
stat_iqr(val) AS iqr,
stat_se(val) AS se,
stat_skewness(val) AS skewness,
stat_kurtosis(val) AS kurtosis
FROM measurements;
ロバスト統計と古典的統計の比較
-- 外れ値の影響を評価する
SELECT
'古典的' AS type,
stat_mean(val) AS location,
stat_sample_stddev(val) AS spread
FROM data
UNION ALL
SELECT
'ロバスト' AS type,
stat_hodges_lehmann(val) AS location,
stat_mad_scaled(val) AS spread
FROM data;
グループ別の詳細分析
SELECT
category,
COUNT(score) AS n,
stat_mean(score) AS mean,
stat_median(score) AS median,
stat_sample_stddev(score) AS stddev,
stat_cv(score) AS cv,
stat_iqr(score) AS iqr,
stat_skewness(score) AS skewness,
stat_kurtosis(score) AS kurtosis,
stat_mad_scaled(score) AS robust_spread,
stat_hodges_lehmann(score) AS robust_location
FROM exam_results
GROUP BY category
ORDER BY mean DESC;
正規性の簡易判定
-- 複数のカラムの正規性を一度にチェック
SELECT
'height' AS variable,
stat_skewness(height) AS skewness,
stat_kurtosis(height) AS kurtosis,
CASE
WHEN ABS(stat_skewness(height)) < 2 AND ABS(stat_kurtosis(height)) < 7
THEN 'approximately normal'
ELSE 'non-normal'
END AS normality
FROM people
UNION ALL
SELECT
'weight',
stat_skewness(weight),
stat_kurtosis(weight),
CASE
WHEN ABS(stat_skewness(weight)) < 2 AND ABS(stat_kurtosis(weight)) < 7
THEN 'approximately normal'
ELSE 'non-normal'
END
FROM people;
回帰分析と予測精度の評価
-- 回帰分析の実行と精度評価を一度に
SELECT
stat_simple_regression(x, y) AS regression,
stat_pearson_r(x, y) AS correlation,
stat_r_squared(x, y) AS r_squared,
stat_mae(x, y) AS mae,
stat_rmse(x, y) AS rmse
FROM experiment_data;
時系列分析パイプライン
-- 株価データの包括的な時系列分析
SELECT date, close_price,
stat_moving_avg(close_price, 20) AS sma_20,
stat_ema(close_price, 12) AS ema_12,
stat_rolling_std(close_price, 20) AS volatility,
stat_diff(close_price, 1) AS daily_change,
stat_lag(close_price, 1) AS prev_close
FROM stock_prices;
欠損値処理と外れ値除去
-- 欠損値の補完 → 外れ値検出 → クリーンなデータで分析
SELECT id, raw_value,
stat_fillna_interp(raw_value) AS filled,
stat_outliers_iqr(raw_value) AS is_outlier,
stat_winsorize(raw_value, 5) AS winsorized
FROM sensor_data;