测量系统分析_偏倚分析

2019-03-12  本文已影响0人  我是屁江

定义

研究对象

独立样本法

步骤:

控制图法--步骤(多个样本)

代码部分示例
'''
def biasAnaly(fileName, stValue):

#通过测量的数据对量具进行偏倚分析
#fileName: 传入的数据所在的excel文件名
#stValue: 基准值,用来计算偏倚
global numbers

data = pd.read_excel(fileName, sheet_name='偏倚', header=0)
cols_len = len(data.columns)
# 计算子组容量m和子组数g
g, m = data.shape
m = m - 3

# 查询自由度df、d2以及d2_
df = 10.8
number = numbers[numbers.index == (cols_len-3)]
d2 = float(number['d2'])
d2_ = 3.553

# 计算均值总体X和偏倚b
X = data.iloc[:,3:cols_len].mean().mean()
b = X - stValue

# 计算重复性标准差sigama_r
R_ = (data.iloc[:,3:cols_len].max(axis=1) - data.iloc[:,3:cols_len].min(
        axis=1)).mean() # 极差的均值
sigama_r = R_ / d2_

# 计算偏倚的t统计量和标准差的平均值sigama_b
if g == 1:
    sigama_b = sigama_r / np.sqrt(m)
else:
    sigama_b = sigama_r / np.sqrt(g)
t = b / sigama_b

# tv 查询
df_ = int(np.round(df, 0))
tv = pd.read_excel(fileName, sheet_name='tv', header=0, index_col=0)
tv = float(tv[tv.index == df_]['tv'])

# 95%置信度区间计算
dtv = d2*sigama_b*tv / d2_    
d_min = b - dtv
d_max = b + dtv

# 统计输出
dic1 = {
        '子组容量m':m,
        '平均值X_':X,
        '重复性标准差sigama_r':sigama_r,
        '标准差的平均值sigama_b':sigama_b
        }
dic2 = {
        '基准值':stValue,
        '置信度alpha':0.05,
        '子组数g':g,
        'd2*':d2_,
        'd2':d2,
        '统计的t值':t,
        '自由度df':df,
        '显著的t值(双尾)':tv,
        '偏倚':b,
        '95%置信度低值':d_min,
        '95%置信度高值':d_max
        }

return dic1,dic2

'''

上一篇 下一篇

猜你喜欢

热点阅读