1.修改数据
其中基本为负类,符合规则,无更多备注信息,但专家未使用。
准备修改48天的数据(负类共计108 天)。
2.修改属性
- 产液量直接根据实际运转时间折算为速率,删除停泵时间属性
- 增加提取的属性:连续未使用计量值时间
3.生成数据
符号 | 意义 |
---|---|
f r n {fr}_n frn | 第 n 项数据产液量计量值 |
f r ‾ n \overline {fr}_n frn | 第 n 项数据选用产液量 |
f r ^ n \hat {fr}_{n} fr^n | 第 n 项数据推导选用产液量 |
C n C_n Cn | 第 n 项数据油嘴尺寸 |
F r e n Fre_n Fren | 第 n 项数据泵频率 |
w c w_c wc | 油嘴尺寸影响系数 |
w f w_f wf | 泵频率影响系数 |
M n \mathbf {M_n} Mn | 第n天计量值集合 |
产液量大部分情况下依靠前一项数据选用值,仅对最近一次控制修改做出变化。生成带控制变化的数据:
f r n ^ = { f r ‾ n − 1 + w c ( C n − 1 − C n − 2 ) 2 + w f ( F r e n − 1 − F r e n − 2 ) 0 , " w e l l s h u t i n " i n k e y w o r d s (1) \hat{fr_n} = \left\{ \begin{aligned} &\overline{fr}_{n-1} + w_c (C_{n - 1} - C_{n - 2})^2 + w_f(Fre_{n - 1} - Fre_{n - 2}) &\\ &0, \mathrm {"well\ shut\ in"\ in\ keywords}\\ \end{aligned} \right.\tag{1} frn^={frn−1+wc(Cn−1−Cn−2)2+wf(Fren−1−Fren−2)0,"well shut in" in keywords(1)
实际判断时(是否会出现fre、choke同时调整但是一正一负的情况?),则只需要判断 w c , w f w_c, w_f wc,wf 的正负。
假设计量当天存在 m m m 次计量,计量集合为 M n \mathbf {M_n} Mn, m f r i ∈ M n , 1 ≤ i ≤ m mfr_i \in \mathbf {M_n}, 1\le i \le m mfri∈Mn,1≤i≤m: M n ∼ N ( f r ‾ n , σ n 2 ) \mathbf {M_n} \sim{N(\overline {fr}_{n}, \sigma_n ^2)} Mn∼N(frn,σn2)
σ n 2 = { ∑ f r ‾ i − 1 < 1000 ( f r i − f r ‾ i − 1 ) 2 m 1 , f r ‾ i − 1 < 1000 ∑ f r ‾ i − 1 ≥ 1000 ( f r i − f r ‾ i − 1 ) 2 m 2 , f r ‾ i − 1 ≥ 1000 (2) \sigma_n ^2 = \left\{ \begin {aligned} &\frac {\sum_{\overline {fr}_{i-1} < 1000} (fr_i - \overline {fr}_{i-1})^2}{m_1}, &\overline {fr}_{i-1} <1000\\ &\frac {\sum_{\overline {fr}_{i-1} \ge 1000} (fr_i - \overline {fr}_{i-1})^2}{m_2}, &\overline {fr}_{i-1} \ge 1000\\ \end{aligned} \right.\tag{2} σn2=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧m1∑fri−1<1000(fri−fri−1)2,m2∑fri−1≥1000(fri−fri−1)2,fri−1<1000fri−1≥1000(2)
其中:
m
1
+
m
2
=
m
m_1 + m_2 = m
m1+m2=m
注意:
- 每天只有一次计量值或者含水率采样值
- 控制变量(泵频率、油嘴尺寸)的可能发生变化,导致产液量进入不同的水准,这里直接按照1000来划分两个产液量水准。
由于每次计量的环境的都不同,统计方法也非常规,根据现有数据来获取产液量计量的方差可行但可能不可靠,对方差的获取方式仍有问题。
不靠谱的话,手动设置方差 σ n 2 \sigma_n ^2 σn2, 控制变量的系数 w c , w f w_c, w_f wc,wf,生成数据映射到二维图像来判断是否符合一般情况下的分布较为合适。
4.目前效果
在有生成数据的训练集中,准确率,负类查准、查全最好的状态:
AccuracyF | precisionFn | recallFn |
---|---|---|
85.01% | 51.19% | 38.39% |
有些驾驭不住ANN。除开数据本身的问题,对于生成的数据,自己写的ANN模型也并没有很好学习到数据的分布。