繼續統計演算法,這次也沒什麼特別的,還沒到那麼深入,也是比較基礎的
1、方差-樣本
2、協方差(標準差)-樣本
3、變異係數
4、相關係數
下面是歷史函式
sum_fun() #累加
len_fun() #統計個數
multiply_fun() #累乘
sum_mean_fun() #算數平均數
sum_mean_rate() #算數平均數計算回報
median_fun() #中位數
modes_fun() #眾數
ext_minus_fun() #極差
geom_mean_fun() #幾何平均數
geom_mean_rate() #幾何平均回報
新函式**
importrandom
#先生成乙個隨機list,已有函式,不贅述
rand_list = [15.79, 6.83, 12.83, 22.32, 17.92, 6.29, 10.19, 10.13, 24.23, 25.56]
#1、方差-樣本s^2,list中的每個元素減整個list的平均數的平方累加,結果比個數-1,方差總量不-1
defvar_fun(rand_list):
mean_num = sum_mean_fun(rand_list) #計算平均數
len_num = len_fun(rand_list) #計算總量
var_list = [(x-mean_num)**2 for x in rand_list]
var_sum = sum_fun(var_list)
var_num = var_sum/(len_num - 1)
return var_num
#2、協方差(標準差)-樣本s,這個簡單,用方差開平方就可以了
defcovar_fun(rand_list):
var_num = var_fun(rand_list)
covar_num = var_num ** 0.5
return covar_num
#3、變異係數cv,變異程度度量,協方差/算數平均數*100%
#def
trans_coef_fun(rand_list):
covar_num = covar_fun(rand_list)
mean_num = sum_mean_fun(rand_list)
trans_coef_num = covar_num / mean_num
return trans_coef_num
#4、相關係數-樣本r,表示兩個維之間的線性關係,-1 < r < 1,越接近1關係維間的關係越強
#因為是兩個維,因此需要輸入兩維的list,演算法比較麻煩
'''((x1-mean(x))(y1-mean(y))+(x2-mean(x))(y2-mean(y))+...(xn-mean(x))(yn-mean(y)))
/((x1-mean(x))^2+(x2-mean(x))^2+...(xn-mean(x))^2)^0.5*((y1-mean(y))^2+(y2-mean(y))^2+...(yn-mean(y))^2)^0.5
'''x_list =rand_list
y_list = [4.39, 13.84, 9.21, 9.91, 15.69, 14.92, 25.77, 23.99, 8.15, 25.07]
defpearson_fun(x_list,y_list):
x_mean = sum_mean_fun(x_list)
y_mean = sum_mean_fun(y_list)
len_num = len_fun(x_list)
if len_num == len_fun(y_list):
xy_multiply_list = [(x_list[i]-x_mean)*(y_list[i]-y_mean) for i in range(len_num)]
xy_multiply_num = sum_fun(xy_multiply_list)
else:
print 'input list wrong,another input try'
return none
x_covar_son_list = [(x-x_mean)**2 for x in x_list]
y_covar_son_list = [(y-y_mean)**2 for y in y_list]
x_covar_son_num = sum_fun(x_covar_son_list)
y_covar_son_num = sum_fun(y_covar_son_list)
xy_covar_son_multiply_num = (x_covar_son_num ** 0.5) * (y_covar_son_num ** 0.5)
pearson_num = xy_multiply_num / xy_covar_son_multiply_num
return pearson_num
字元統計演算法
一 要求 給定乙個字串,從字串中找出出現次數最多的字元。二 實現 原理 利用陣列來儲存字元出現的次數,利用陣列下標表示對應的字元。1 include 2 include 34 5 要統計的字串 6char s aaffcsdf23aaaaa41678hjjm aaaa 789int main voi...
順序統計演算法 2019 5 25
題目 給定陣列a 0.n 1 試設計乙個演算法,在最壞情況下用n logn次比較找出a 0.n 1 中元素的最大值和次大值。輸入 序列長度 陣列a 輸出 maxnum cmaxnum input 7 1 2 3 4 5 6 7 output 7 6 思想 用分治法將陣列中的數分為兩個序列,遞迴求出左...
統計演算法學習梳理(二)
接下來的幾種模型沒有用,只是在學習書本裡中提到。在此僅僅作為乙個搬運工,然後結合自己的理解慢慢修改。8,邏輯斯諦回歸模型 1,回歸分析。回歸分析本質上就是乙個函式估計的問題,就是找出因變數和自變數之間的因果關係。2,邏輯斯諦回歸 logistic regression 又叫對數回歸,其本質上是線性回...