やりたいこと P10、最頻値(モード)、P90が分かっているとき、その条件にフィットする三角分布を生成する 三角分布は、最小値a、最頻値b、最大値cの三つのパラメータで表現される連続分布の一種です。1 モデルが単純で直感的に理解しやすいため、Oil&Gas業界のリスク評価などでよく用いられています。2 ここでは、P10、最頻値、P90が既知の標本データがあるとき、これにフィットする三角分布を計算する方法を紹介します。 SciPyのcurve_fitを用いて最小二乗法によるフィッティングを行います。 コード 次のような三角分布のクラスtriangular_fitを定義します。 import numpy as np from scipy.stats import triang from scipy.optimize import curve_fit import matplotlib.pypl