EWMA控制门限的计算
时间: 2024-05-26 16:14:38 浏览: 111
EWMA (Exponentially Weighted Moving Average) 控制门限的计算通常涉及以下步骤:
1. 计算加权平均数
EWMA控制门限的计算涉及到计算加权平均数,其中过去的数据点会以指数方式进行加权,使得最近的数据点的权重更高。通常使用以下公式进行计算:
EWMA = α * Y + (1 - α) * EWMA
其中,Y是当前数据点的值,EWMA是前一时刻的加权平均值,α是平滑系数,通常取值范围为0到1之间。
2. 计算控制限
控制限是用于判断当前数据点是否异常的阈值。一般使用上限控制限(UCL)和下限控制限(LCL)来进行判断。计算公式如下:
UCL = EWMA + k * σ
LCL = EWMA - k * σ
其中,k是控制限系数,通常设置为2或3,σ是标准差。
3. 更新加权平均数和控制限
随着新的数据点的出现,需要不断更新加权平均数和控制限。通常使用递归方式进行更新,即每个时刻的加权平均数和控制限都是由前一时刻的加权平均数和控制限递推得到的。
以上就是EWMA控制门限的计算步骤。
相关问题
ewma控制图matlab
EWMA(指数加权移动平均)控制图可以在MATLAB中使用控制图工具箱轻松绘制。下面是一个简单的例子:
假设我们有一组数据,我们想要绘制EWMA控制图以检测异常值。
```matlab
% 生成随机数据
data = randn(100,1);
% 计算EWMA控制限
alpha = 0.2;
lambda = 1-alpha;
mu = mean(data);
s = std(data);
UCL = mu + 3*s/sqrt(lambda);
LCL = mu - 3*s/sqrt(lambda);
% 绘制EWMA控制图
ewma(data,alpha,'UCL',UCL,'LCL',LCL);
```
这将生成一个EWMA控制图,其中包括原始数据、EWMA线以及指定的控制限。如果数据中有任何异常值,则它们将在图表中突出显示。
注意,这里我们使用了MATLAB的“ewma”函数来计算EWMA值。如果您希望使用自己的EWMA计算方法,则可以编写自己的函数并将其传递给控制图工具箱。
python绘制EWMA控制图
要绘制EWMA(Exponentially Weighted Moving Average)控制图,你可以使用Python中的matplotlib库来完成。下面是一个简单的示例代码来绘制EWMA控制图:
```python
import numpy as np
import matplotlib.pyplot as plt
def ewma(data, alpha):
# 计算EWMA值
ewma_values = [data[0]]
for i in range(1, len(data)):
ewma = alpha * data[i] + (1-alpha) * ewma_values[i-1]
ewma_values.append(ewma)
return ewma_values
def control_chart(data, alpha):
# 计算EWMA控制线
ewma_values = ewma(data, alpha)
ucl = np.mean(data) + 3 * np.std(data)
lcl = np.mean(data) - 3 * np.std(data)
# 绘制数据和控制线
plt.plot(data, label='Data')
plt.plot(ewma_values, label='EWMA')
plt.axhline(ucl, color='r', linestyle='--', label='UCL')
plt.axhline(lcl, color='r', linestyle='--', label='LCL')
plt.legend()
plt.xlabel('Sample')
plt.ylabel('Value')
plt.title('EWMA Control Chart')
plt.show()
# 示例数据
data = [10, 12, 14, 8, 10, 9, 11, 12, 13, 15, 8, 10, 12, 14]
alpha = 0.2
# 绘制EWMA控制图
control_chart(data, alpha)
```
在这个示例中,`ewma`函数计算了给定数据的EWMA值,`control_chart`函数计算了EWMA控制线,并使用matplotlib绘制了数据、EWMA值和控制线。你可以根据自己的数据和需要调整alpha值来绘制不同的EWMA控制图。
阅读全文