まずは相加平均(算術平均)についてです.
$ \mu = \frac{1}{n} \sum\limits_{i=1}^n x_i $
1〜10までの整数の和の平均を求めてみます.
総和は`sum()`関数を用いて求めます.
続いて幾何平均についてです.
総和は`sum()`関数を用いて求めます.
julia> x1 = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
10-element Array{Float64,1}:
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
julia> n = length(x1)
10
julia> mu_a = sum(x1) / n
5.5
$ ( \prod\limits_{i=1}^{n} x_i ) ^ \frac {1} {n} $
1〜10の幾何平均を求めてみます.
総乗は`prod()`関数を用いて求めます.
Python3で確認のための計算を行なってみると以下のようになります.
総乗は`prod()`関数を用いて求めます.
julia> x2 = [1.0, 2.0, 3.0, 4.0, 5.0]
5-element Array{Float64,1}:
1.0
2.0
3.0
4.0
5.0
julia> n = length(x2)
5
julia> mu_g = prod(x2) ^ (1 / n)
2.605171084697352
>>> import scipy.stats.mstats as mstats
>>> mstats.gmean(x2)
2.6051710846973517
幾何平均(対数)- log-average -についてです.
$ \exp \left( \cfrac{1}{n} \sum_{i=1}^n \ln {x_i} \right)$
この平均は,元のデータの数値 $a_{i}$ を対数*に変換して相加(算術)平均を求め、指数関数*を適用して元の数値の幾何平均を得ます.log-averageを対数平均(logarithmic mean )と混同しないように注意が必要です.
julia> x3 = [1.0, 2.0, 3.0, 4.0, 5.0]
5-element Array{Float64,1}:
1.0
2.0
3.0
4.0
5.0
julia> x4 = map(a -> log(a), x3)
5-element Array{Float64,1}:
0.0
0.6931471805599453
1.0986122886681098
1.3862943611198906
1.6094379124341003
julia> n = length(x3)
5
julia> mu_g_ln = exp((1 / n) * sum(x4))
2.605171084697352
>>> import numpy as np
>>> from statistics import mean
>>> x3 = [1.0, 2.0, 3.0, 4.0, 5.0]
>>> np.exp(mean (np.log(x3)))
2.6051710846973517
2.6051710846973517
* `ln`は自然対数で,`e`を底とする対数です.`exp`は`e`を底とする指数関数です.`exp`は`log`と逆の意味になるので,`log(x)`を`exp`すると元の値に戻し,`exp(x)`を`log`しても元に戻ります.
julia> exp(log(pi))
3.141592653589793
julia> log(exp(pi))
3.141592653589793
0 件のコメント :
コメントを投稿