現在の位置: ホーム> 最新記事一覧> COSH関数を使用して、正規分布の数学的近似を構築する

COSH関数を使用して、正規分布の数学的近似を構築する

gitbox 2025-06-06

データモデリング、画像処理、または機械学習では、正規分布(ガウス分布とも呼ばれます)は非常に一般的な確率分布モデルです。 PHPは数学的モデリングに適した言語ではありませんが、特にWeb環境で基本的な数学モデルを構築するために使用できます。この記事では、PHPの組み込みcosh()関数(双曲線コサイン関数)を使用して、単純化された正規分布近似モデルを構築する方法を紹介します。

なぜcosh()を選ぶのですか?

標準的な正規分布関数の数学的形式は次のとおりです。

 f(x) = (1 / (σ√2π)) * e^(-(x - μ)^2 / (2σ^2))

ただし、PHPは複雑な数学機能に対するサポートが限られているため、 Cosh()関数の対称性とその急速に成長する特性を使用して、正規分布曲線と同様の近似関数を構築できます。例えば:

 f(x) = A / cosh(B * (x - μ))

ここで、 Aはスケーリング係数であり、 Bは分布の幅を制御し、 μは平均です。

この関数は、グラフ上にベル曲線を生成します。これは、正規分布と正確に同等ではありませんが、視覚化または大まかなモデリングの目的で使用できます。

PHP実装

以下は、COSH()関数を使用して、近似正規分布でデータポイントを生成し、JSON形式に出力するPHPスクリプトの例です。これは、フロントエンドチャートライブラリが使用するのに便利です。

 <?php

// パラメーター設定
$mu = 0;        // 平均値
$b = 0.5;       // 制御幅
$a = 1;         // スケーリング係数
$range = 5;     // x 値範囲
$step = 0.1;    // 毎回ステップの長さが増加しました

$data = [];

for ($x = -$range; $x <= $range; $x += $step) {
    $y = $a / cosh($b * ($x - $mu));
    $data[] = ['x' => $x, 'y' => $y];
}

// 出力 JSON
header('Content-Type: application/json');
echo json_encode($data);
?>

上記のコードをdistribution.phpとして保存してサーバーに展開し、chart.jsやechartsなどのフロントエンドツールを使用して生成データをAjaxを介してロードできます。例えば:

 fetch("https://gitbox.net/distribution.php")
  .then(response => response.json())
  .then(data => {
    // 使用 data チャートを描きます
    console.log(data);
  });

曲線効果と調整

パラメータABの調整は、グラフの高さと幅を制御して、さまざまなニーズに合わせて制御できます。例えば:

  • B値を増やす:曲線は急で、形状は「スパイク」に近い

  • B値を減らす:曲線はより滑らかで、真の正規分布に近い

この方法は、真の正規分布関数(ガウス関数ライブラリやC拡張機能の使用など)を置き換えることはできませんが、Webシナリオにはまだ実用的なアプリケーション値があります。

アプリケーションシナリオ

  • 単純なデータ視覚化モデル:データの変動をグラフ化するために使用できます。

  • UIアニメーションリズムコントロール:曲線制御グラデーションリズムを制御して、視覚体験をより自然にします。

  • Webシミュレーションの計算:フロントエンドとバックエンドを通信するときに、高速の数値シミュレーション結果を提供します。

要約します

PHPは数値コンピューティングの強力な点ではありませんが、その柔軟性と幅広いアプリケーションシナリオにより、数学モデルが迅速に展開される状況で輝きます。 cosh()関数を介した通常の分布の近似構造は、迅速な視覚化とシミュレーションを必要とするWebプロジェクトの軽量で実装しやすい方法です。最新のJavaScriptチャートツールと組み合わせることで、インタラクティブなデータ表示インターフェイスを簡単に作成できます。