總和公式
$(\sum_{i=1}^{i=n}x_{i}=x_{1}+x_{2}+…+x_{n})$
平均數(Mean)
$(\mu =\frac{1}{n}\sum_{i=1}^{i=n}x_{i}=\frac{x_{1}+x_{2}+…+x_{n}}{n})$
$(\sum)$ 唸成 Sigma
sum=0
import numpy as np
rng=np.random.RandomState(0) #偽亂數
d=rng.randint(1,100,10)
print(d)
sum=0
for i in d:
sum+=i
print('用迴圈計算總合 : ', sum, '<==速度很慢')
print('d.sum() : ', d.sum(), '<==調用C語言執行,速度超極快')
u=d.mean()
print('sum/10 = ', sum/10)
print('d.mean() ', d.mean(), '<==調用C語言執行,速度超極快')
結果 :
[45 48 65 68 68 10 84 22 37 88]
用迴圈計算總合 : 535 <==速度很慢
d.sum() : 535 <==調用C語言執行,速度超極快
sum/10 = 53.5
d.mean() 53.5 <==調用C語言執行,速度超極快
用迴圈計算總和,是傳統語言必會的技術。但在Python使用迴圈則效能太差。需使用d.sum()調用C語言來執行,速度才會快.
變異數(Variance)
何謂變異數?? 假設有二個國家,每個國家有5個人
美國 : 五個人分別收入為 [10000,100000,5000,5000,5000]
台灣 : 五個人分別收入為[30000,30000,30000,30000,30000]
經計算 :
美國 : 變異數 : 1,410,000,000, 標準差 : 37,549.96
台灣 : 變異數 : 0,標準差 : 0
由上的數字,可以得知美國的貧富差異實在是大的不得了。因為就可以用這組數字來描述貧富差異的嚴重性。
那到底是要用變異數還是標準差來描述這種嚴重性呢? 都一樣啦,標準差是變異數的平方根,看起來數字比較小,比較漂亮,比較無感而以啦。
變異數的公式如下 :
$(\sigma ^{2} = \frac{1}{n}\sum_{i=1}^{i=n}(x_{i}-\mu )^{2}=\frac{(x_{1}-\mu )^{2}+(x_{2}-\mu )^{2}+…+(x_{n}-\mu )^{2}}{n})$
$(\sigma)$ 也唸成Sigma
import numpy as np
rng=np.random.RandomState(0) #偽亂數
d=rng.randint(1,100,10)
print(d)
u=d.mean()
o2=((d-u)**2).mean()
print('((d-d.mean())**2).mean() : ', ((d-u)**2).mean(), '<====變異數')
print('d.var() :', d.var(), '<====變異數')
print('標準差 : ', d.std(), '<===就是變異數的平方根')
結果 :
[45 48 65 68 68 10 84 22 37 88]
((d-d.mean())**2).mean() : 593.25 <====變異數
d.var() : 593.25 <====變異數
標準差 : 24.3567239176372 <===就是變異數的平方根
以平方差的姿態,加入群組之後,大量影響群組的結果,然後平圴群組的數字,造成差異。
標準差(Standard Deviation – SD)
就是變異數的平方根,如上所示