統計データを取得する: 標準偏差やその他の統計量を計算する

2022年 6月 17日

COMSOL Multiphysics® を使用してシミュレーションしたデバイス, システム, またはプロセスの性能または特性を評価する場合, データの集合の標準偏差や平均値などの統計量は貴重です. このブログでは, COMSOL Multiphysics® で使用できる統計量の計算と可視化のための関数, プロット, その他のツールについてご紹介します.

統計学 : 概要

統計学とは, データの値やばらつきを表現したり可視化したりする値を計算することです. 次の表は, COMSOL Multiphysics® で最も一般的な統計尺度とその演算子およびデータ集合の操作名の一覧です:

尺度 パラメーター 演算子名 データ集合演算名
平均 \mu mean, timeavg 平均
標準偏差 \sigma stddev 標準偏差
分散 Var, \sigma^2 分散

ここでは, それぞれの統計指標の概要について説明します:

  • 平均, または算術平均 (方程式内の\mu) 以下 は, すべてのデータ値の合計をデータ集合内の値の数で割ったものです. これは, 変動する量のレベルを特徴付けるのに役立つ値です. 平均値は, いわゆる外れ値 (つまり, データ集合内の他の値と大きく異なるデータ値) の影響を受ける可能性があります. 関連する統計量は中央値です. これは, データ集合の上半分と下半分を分ける中央の値です (データ集合に偶数の値が含まれている場合は, 中央の 2つの値の平均です). COMSOL Multiphysics®timeavg 演算子は, 時間間隔にわたる時間依存式の平均を計算します.
  • 標準偏差 (以下の方程式の \sigma) は, データが実際の平均からどの程度乖離しているかを示します. これは分散の平方根です. 分散とは対照的に, 標準偏差はデータ自体と同じ単位で表されます.
  • 分散 (以下の方程式の分散) は, 一連のデータ値が平均からどれだけ離れているかを測定し, データの 2 乗の単位で表されます.

次の方程式は, 平均 \mu の定義を示しています:

\mu(X)=\frac{1}{n}\sum_{i=1}^nx_i \cdot

次の式で分散を定義します:

Var(X)=\frac{1}{n}\sum_{i=1}^{n}(x_i-\mu)^2

ここで, X は分散 (および平均) を計算する変数, x_i は次の値の集合です. \mu が平均値となります. この分散の定義は, 値の固定母集団に対して有効です.

COMSOL Multiphysics® では, Xx_i は固定の値の集合を表します.

標準偏差 \sigma は, 単に分散の平方根です:

\sigma = \sqrt{\text{Var}}

これらの統計式は, ジオメトリエンティティで定義された統計量を記述するために簡単に一般化でき, COMSOL Multiphysics® の場合のように, 合計が積分に置き換えられます. ドメイン \Omega にわたる変数 X の平均の積分形式は次のようになります.

\mu(X) = \frac{1}{|\Omega|}\int_\Omega x d\Omega

同様に, ドメイン \Omega 上の変数 X の分散は次のようになります.

Var(X) = \frac{1}{|\Omega|}\int_\Omega (x-\mu(x))^2 d\Omega

ここで, |\Omega| はドメインのサイズ (モデルの空間寸法に応じて, 体積, 表面, または長さ) です.

次のセクションでは, COMSOL Multiphysics® シミュレーションにおけるこれらの操作と演算子の使用方法について説明します.

COMSOL Multiphysics®における統計量

非ローカルカップリング演算子

組み込み演算子 stddev を使用して式の標準偏差を計算する方法を説明します. その前に,計算された量の平均を,例えば領域内や境界に沿って評価する方法を説明します. 目的のコンポーネントノードの下にある定義ノードを右クリックし, 非ローカルカップリングメニューから平均を選択します. これにより, 平均演算子, デフォルトで aveop1 が作成され, その設定で最初にジオメトリエンティティ レベル (たとえば, 境界) を定義します. 次に平均を評価したい境界 (または, 選択した実体レベルに応じて他のジオメトリオブジェクト)を定義します. また, 積分, 最大値, 最小値を計算するための演算子も同じように追加することができます.

作成した演算子は, モデル内やポスト処理で使用することができます. 例えば, 流体シミュレーションでは, 出口境界で定義した平均演算子を使用して, 平均流出速度を計算することができます. これを行うには, 結果セクションの計算値の下にあるグローバル評価ノードで, aveop1(spf.U) のような式を追加し, 評価をクリックします. すると, 過渡シミュレーションの各出力時間の平均速度が テーブルウィンドウに表示されます.

過渡シミュレーションの各出力時間での平均速度を示すテーブルウィンドウのスクリーンショット.
各出力時間の平均速度の値を含むテーブルウィンドウ.

非ローカルカップリング演算子を使用して標準偏差または分散を 2 回計算できます. 1 回目は平均の計算, もう 1 回目は標準偏差または分散自体の計算です. たとえば, 流体の流れの例で出口境界に定義された平均演算子 aveop1 を使用すると, グローバル評価 ノードと式 を使用して標準偏差を計算できます. sqrt(aveop1((aveop1(p)-p)^2)), 境界上の圧力の標準偏差について上記の方程式を実装します.

式演算子を使った簡略化

上記の式 sqrt(aveop1((aveop1(p)-p)^2)) は少し長いため, 複数の場所で使用したい場合は, 式演算子を使用して簡素化します. まず, その他のオプションを表示ダイアログボックスの全般セクションで変数ユーティリティを有効にする必要があります. 次に, コンポーネント の下の定義ノードを右クリックすると表示される変数ユーティリティサブメニューから式演算子ノードを追加できます. 式演算子ノードの設定では, たとえば, 上記のような式を使用して, 選択した入力引数を使用して, stdop1 という演算子を定義します. 次の図のように, pin を追加します.

式演算子ノードのジオメトリエンティティの選択と定義セクションを示す設定ウィンドウのスクリーンショット. 定義セクションの式は sqrt(aveop1((aveop1(pin)-pin)^2) に設定されます.
標準偏差の簡略化された演算子stdop1 を定義する式演算子ノードの設定ウィンドウ.

その後, ポスト処理中に, sqrt(aveop1((aveop1(p))^2)) の代わりに stdop1(p) と入力して, この演算子を使用できます.

計算値

ポスト処理の目的で, 体積平均, 表面平均, および線平均ノードを追加できます. これらのノードは, ノードを右クリックして実装します. 計算値ノードをクリックし, 平均サブメニューからこれらのオプションのいずれかを選択します. 積分, 最大, および最小の値に対して同様のノードを定義できます.

時系列の変換とパラメトリックスイープ

たとえば, ポイント評価機能を使用して, 時間依存, パラメトリック, または固有値解からのデータを評価する場合, データ系列に次の操作のいずれかを適用できます.

  • 平均
  • 積分
  • 最大値または最小値
  • 二乗平均平方根 (RMS)
  • 標準偏差
  • 分散

これらの各操作は, パラメトリックスイープの平均値や, 時間依存シミュレーションのある点における量の標準偏差など, 1つの出力を提供します.

ビルトイン演算子

COMSOL Multiphysics® シミュレーションの結果を評価およびプロットする際には, 物理学固有の変数や, ビルトインの物理定数, 数学定数, 関数, および演算子を数多く利用できます.
任意のフィールドに直接入力することも, 式の追加ボタンまたは式の置換ボタンをクリックすることもできます(結果機能の機能のセクションツールバー). 次のスクリーンショットは, COMSOL Multiphysics® バージョン 6.0 の積分と統計カテゴリで利用可能な演算子を示しています.

COMSOL Multiphysics バージョン 6.0 の積分および統計カテゴリ.
積分と統計に利用可能な演算子.

特に興味深いのは, 式の標準偏差を計算するために使用できる stddev 演算子です. この演算子を使用すると, stddev('comp1.aveop1',p) という式を使用して, 上記の同じ出口境界圧のケースの標準偏差を評価することができます. ここで示した成分名と演算子名は単なる例であり, モデル内では別の名前になる可能性があることに注意してください.

標準偏差と平均: 例

時間依存の Flow Past a Cylinder モデル のいくつかの統計値を計算してみましょう. これは, COMSOL Multiphysics® のアプリケーションライブラリの 流体力学 フォルダにあります. 次の値を計算します.

  1. シミュレーションのすべての時間ステップの計算領域における圧力の平均と標準偏差
  2. すべての時間ステップにわたって計算された, 出口境界の点における速度の平均および標準偏差

長い円柱を過ぎる非定常で非圧縮性の流れのモデルの速度場と粒子の動き.
Flow Past a Cylinder モデルのデフォルトプロット. シミュレーション終了時 (7 秒) の速度場と粒子の動きを示します.

領域内および出口境界上の圧力の平均および標準偏差

ドメイン内の圧力の平均と標準偏差を評価するには, まず平均非ローカルカップリングノード (aveop2 など) を追加し, ドメイン内で定義します. (このジオメトリにはドメインが 1つだけあります). 解を計算した後, 結果セクションの の下に グローバル評価 ノードを追加して, 式 aveop2(p) を使用して平均圧力を評価することができます. 平均圧力は, 時間選択 リストから選択されたすべての時間について, テーブルウィンドウに表示されます. (デフォルトはすべての時間ステップを含みます.) すべての時間ステップにわたる平均圧力の平均を計算する場合は, データ系列演算セクションの変換リストから平均を選択します. 出力は, 平均圧力の平均を表す単一のスカラー数になります. 各タイムステップの標準偏差については, 式 stddev('comp1.aveop2',p) (または上記の他のオプションのいずれか) を使用します.

stddev 演算子の引数は平均である必要はありません. 代わりに, たとえば積分カップリング演算子を渡すと, 平均の正しい標準偏差が評価されます. また, この演算子を timeavg 演算子と組み合わせて使用すると, stddev('timeavg' ,t1,t2,expr) のような式を使用して時系列のデータ操作を使用し, 他の場所で得られるのと同じ結果を生成することもできます. ここで, t1t2 はそれぞれ時間の開始時刻と終了時刻です. expr は, その時間間隔の時間平均を計算する式です. たとえば, 出口境界に沿ったすべての点の圧力の時間領域標準偏差を 6 秒から 7 秒までの時間平均値としてプロットするには, stddev('timeavg',6,7,p) を使用します.

データ, 選択, y 軸データ, x 軸を含むライングラフノード内のさまざまなセクションが開いている設定ウィンドウのスクリーンショット.
6 秒から 7 秒までの時間平均値として, 時間領域の標準偏差の式を使用した折れ線グラフプロットの設定ウィンドウ.

対応するプロットは, 圧力の標準偏差が出口境界の中央で最小になることを示しています.

y 軸にstddevというラベルが付いたライングラフプロット ('timeavg',6,7,p)', x 軸には円弧の長さ (m)というラベルが付いています.
出口境界における時間領域の標準偏差のプロットのライングラフ.

出口における速度の平均および標準偏差

その代わりに, すべての時間ステップにわたって出口境界の中間点の平均と標準偏差を評価したい場合は, まずその点の速度を確認する必要があります. これには2つの方法があります:

  1. ジオメトリの作成に必要ない場合でも, 出力境界の中央にジオメトリ内の点を追加
  2. カットポイントのデータセット(ここではカットポイント2D)を追加し, データセットの設定でカットポイントの座標を定義.

中間点での速度を評価するには, ポイント評価 ノードを使用し, 定義したポイントを選択するか, 入力データセットとしてカットポイント 2D データセットを使用します (状況に応じて異なります). ポイントデータに対して選択された方法). 次に, 速度の大きさの式として, たとえば spf.U を使用します. データ系列演算セクションで, 平均を選択し, 次に標準偏差を選択し, 評価をクリックします. 各選択後の 設定ウィンドウで, シミュレーションのすべての時間ステップにわたる出口の中点での速度の大きさの平均と標準偏差 (両方とも m/s) を取得します.

平均速度の大きさと標準偏差を示すテーブルウィンドウの切り取られたスクリーンショット.
同じ量の平均速度の大きさと標準偏差. テーブルウィンドウに表示されます.

ヒストグラムプロット

ヒストグラムは, データの形状や広がりを示すのに便利です. COMSOL Multiphysics® のプロットツールには, 以下のヒストグラムプロットタイプがあります:

  1. ヒストグラム (1D および 2D プロット). 量がジオメトリ (つまり, メッシュ ボリューム) 上にどのように分布しているかを示します. 1D ヒストグラムでは, x 軸は数量の値 (ビンの数または値の範囲として) を表し, y軸は, 各区間における全要素体積の数値を表します.
  2. テーブルヒストグラム (1D および 2D プロット). ヒストグラム プロットに似ていますが, テーブルまたは評価グループからのデータに基づいています.
  3. 行列ヒストグラム (2D プロットのみ). 2D ヒストグラムとして可視化する事前計算された行列がある場合に使用できます.

ヒストグラム および テーブルヒストグラム プロットの場合, ヒストグラム内のビンの数を指定するか, ヒストグラムビンの制限範囲を指定するかを選択できます. 次の 3D ヒストグラムに示すように, 任意の 2D ヒストグラムに高さ式 サブノードを追加して, z 軸に沿ってビンの大きさをプロットできます.

3D マトリックスヒストグラムでカウントされた応力サイクルのモデル.
マトリックスヒストグラムプロットは, 疲労解析でのサイクルカウントでカウントされた応力サイクルベンチマークモデルを可視化します.

不確実性定量化と統計

COMSOL Multiphysics® のアドオンである 不確実性定量化モジュール を使用すると, 不確かさ定量化シミュレーションに関連する統計データに出力テーブルグループで直接アクセスできます. 例えば, 非適応ガウスプロセスサロゲートモードを使用した不確かさ伝播(UP)解析では, 以下の 4つのテーブルが利用可能になります:

  1. QoI 信頼区間テーブル. 対象数量 (QoI) ごとに 1 行が含まれ, 平均, 標準偏差, 最小値, 最大値の列があり, その後に 90%, 95%, 99% の信頼区間が続きます.
  2. UP予測QoIテーブル. モンテカルロサンプリングポイントのQoIに対するサロゲートモデル予測値を含む
  3. UP予測標準偏差テーブルには, モンテカルロサンプリングポイントのサロゲートモデル予測標準偏差が含まれます. これは内蔵の代用モデル誤差推定と見なすことができます.
  4. QoIごとに1つずつ, 最大相対標準偏差を含む最大エントロピテーブル.

適応ガウス過程サロゲートモデルが使用される場合, 対応する4つの適応結果表も出力表グループに追加されます.これらには, すべての適応ステップにおける結果情報が含まれます.

次のステップ

次のステップとして, ご自身のシミュレーションモデルでこれらの統計ツールをお試しください. そうすることで, 関心のある変数やパラメーターの変動や特性を統計的に理解し, 定量化することができます. このトピックに関するご質問は, 以下のボタンからCOMSOLにお問い合わせください.

コメント (0)

コメントを残す
ログイン | 登録
Loading...
COMSOL ブログを探索