2021 年 五一数学建模比赛 C 题
文章目錄
- 思路
- 第一問(wèn)
- 風(fēng)險(xiǎn)分析
- 獨(dú)立性、偶發(fā)性誤差(非風(fēng)險(xiǎn)也)
- 風(fēng)險(xiǎn)
- 灰色地帶
- 規(guī)律性波動(dòng)
- 沖擊性誤差
- 沖擊性風(fēng)險(xiǎn)判定與算法 A
- 獨(dú)立性和偶發(fā)性誤差
- 正態(tài)分布檢驗(yàn)—— Anderson–Darling 檢驗(yàn)(原理部分別看)
- 均勻分布檢驗(yàn)——Kolmogorov–Smirnov 檢驗(yàn)
- 非正常波動(dòng)系數(shù)
- 自相關(guān)性系數(shù)和自相關(guān)檢驗(yàn)
- 自相關(guān)系數(shù)
- 相關(guān)性檢驗(yàn)
- 注意點(diǎn)
- 穩(wěn)定性檢驗(yàn)——Augmented Dickey–Fuller Test
- 風(fēng)險(xiǎn)計(jì)算總結(jié)
- 結(jié)果展示
- 第二問(wèn)
- 第三問(wèn)
- 第四問(wèn)
- 代碼與提問(wèn)
- 編程收錄
本人專挑數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)和 NLP 類(lèi)型的題目做,有興趣也可以逛逛我的數(shù)據(jù)挖掘競(jìng)賽專欄。
如果本篇博文對(duì)您有所幫助,請(qǐng)不要吝嗇您的點(diǎn)贊 😊
賽題官網(wǎng):http://51mcm.cumt.edu.cn/
思路
這道題的突破口就在于如何解決第一問(wèn),若能夠在第一問(wèn)便提出一種量化評(píng)價(jià)風(fēng)險(xiǎn)的方法,下面的題就好解決了。
如何量化呢?這里用統(tǒng)計(jì)的方法,對(duì)每一個(gè)感知器的所有時(shí)序數(shù)據(jù)(共 5519 個(gè)),從沖擊性風(fēng)險(xiǎn)、獨(dú)立性和偶發(fā)性風(fēng)險(xiǎn)、以及自相關(guān)風(fēng)險(xiǎn)三個(gè)方面,來(lái)評(píng)價(jià)感知器的風(fēng)險(xiǎn)值。
至于第二問(wèn),我們可以沿用第二問(wèn)的方法,以 30 分鐘為間隔,算出每個(gè)感應(yīng)器的異常得分(得分用第一問(wèn)方法求出),求這段時(shí)間內(nèi)感應(yīng)器異常得分的總和,找出前 5 個(gè)異常得分總和最大的時(shí)刻即可。并把異常總得分,作為該時(shí)刻的異常得分。之后,在每個(gè)最異常的時(shí)刻上,找出 5 個(gè)異常得分最大的感應(yīng)器。
至于第三問(wèn),我們根據(jù)移動(dòng)平均算法,求出未來(lái) 15 分鐘的風(fēng)險(xiǎn)值即可。
至于第四問(wèn),都算出風(fēng)險(xiǎn)了,安全評(píng)分還會(huì)遠(yuǎn)嗎?
第一問(wèn)
從題目可知,數(shù)據(jù)存在波動(dòng),波動(dòng)分成兩種:
注意,正常波動(dòng)中,有一個(gè)規(guī)律性,所以,正常波動(dòng)是白噪聲嗎?
我們把沒(méi)有持續(xù)性和聯(lián)動(dòng)性的參數(shù),就叫非正常波動(dòng)。
風(fēng)險(xiǎn)分析
我們來(lái)看看題目對(duì)風(fēng)險(xiǎn)的定義:
這些異常性波動(dòng)的出現(xiàn)是生產(chǎn)過(guò)程中的不穩(wěn)定因素造成的,預(yù)示著可能存在安全隱患,我們視為風(fēng)險(xiǎn)性異常
所以,感應(yīng)器誤識(shí)別,和因溫度等因素引起的獨(dú)立性和偶發(fā)性波動(dòng),都不是風(fēng)險(xiǎn)。
獨(dú)立性、偶發(fā)性誤差(非風(fēng)險(xiǎn)也)
這種獨(dú)立性、偶發(fā)性的誤差,將原本相對(duì)平穩(wěn)的變量,添加上了白噪聲,造成數(shù)據(jù)帶有這種白噪聲誤差的原因可能是感應(yīng)器誤識(shí)別,溫度、振動(dòng)等外部環(huán)境:
風(fēng)險(xiǎn)
根據(jù)題目,所謂風(fēng)險(xiǎn)應(yīng)該是有持續(xù)性的、聯(lián)動(dòng)性的,如下所示:
灰色地帶
規(guī)律性波動(dòng)
有一些傳感器變量,它的變量波動(dòng)很大,如下所示:
從題目可知,有些誤差是具有規(guī)律性的,但規(guī)律性,又意味著聯(lián)動(dòng)性和持續(xù)性。所以,對(duì)傳感器 2 來(lái)說(shuō),我們可以說(shuō)是因?yàn)闇囟鹊纫蛩?#xff0c;也可以歸咎于生產(chǎn)過(guò)程。
但對(duì)本題而言,我們將類(lèi)似傳感器 2 的規(guī)律性波動(dòng),視為風(fēng)險(xiǎn)。
沖擊性誤差
如下所示,個(gè)人理解認(rèn)為,感應(yīng)器 10 和 感應(yīng)器 5 中的沖擊性波動(dòng),不應(yīng)該理解為感應(yīng)器的誤差,而應(yīng)該視為生產(chǎn)過(guò)程中的沖擊性干擾。
沖擊性風(fēng)險(xiǎn)判定與算法 A
算法 A 來(lái)自 GB/T 6379.5,應(yīng)用此算法計(jì)算得到數(shù)據(jù)平均值和標(biāo)準(zhǔn)差的穩(wěn)健值,但也可以據(jù)此統(tǒng)計(jì)沖擊性風(fēng)險(xiǎn)的數(shù)據(jù)含量。
算法 A 的計(jì)算過(guò)程如下所示:
首先是計(jì)算初始值:
x?=med?xis?=1.483×med?∣xi?x?∣\begin{array}{c} x^{*}=\operatorname{med} x_{i} \\ s^{*}=1.483 \times \operatorname{med}\left|x_{i}-x^{*}\right| \end{array} x?=medxi?s?=1.483×med∣xi??x?∣?
對(duì)每個(gè) xix_ixi?,有:
xi?={x??δ,若?xi<x??δx?+δ,若?xi>x?+δxi,其他?x_{i}^{*}=\left\{\begin{array}{cc} x^{*}-\delta, & \text { 若 } x_{i}<x^{*}-\delta \\ x^{*}+\delta, & \text { 若 } x_{i}>x^{*}+\delta \\ x_{i}, & \text { 其他 } \end{array}\right. xi??=????x??δ,x?+δ,xi?,??若?xi?<x??δ?若?xi?>x?+δ?其他??
其中: δ=1.5s?\delta=1.5 s^{*}δ=1.5s?,再次計(jì)算:
x?=∑xi?/ps?=1.134∑(xi??x?)2/(p?1)\begin{array}{c} x^{*}=\sum x_{\mathrm{i}}^{*} / p \\ s^{*}=1.134 \sqrt{\sum\left(x_{\mathrm{i}}^{*}-x^{*}\right)^{2} /(p-1)} \end{array} x?=∑xi??/ps?=1.134∑(xi???x?)2/(p?1)??
重復(fù):
xi?={x??δ,若?xi<x??δx?+δ,若?xi>x?+δxi,其他?x_{i}^{*}=\left\{\begin{array}{cc} x^{*}-\delta, & \text { 若 } x_{i}<x^{*}-\delta \\ x^{*}+\delta, & \text { 若 } x_{i}>x^{*}+\delta \\ x_{i}, & \text { 其他 } \end{array}\right. xi??=????x??δ,x?+δ,xi?,??若?xi?<x??δ?若?xi?>x?+δ?其他??
直到 s?s^*s? 的 第三位有效數(shù)字和 x?x^*x? 的對(duì)應(yīng)數(shù)字在連續(xù)兩次迭代中不變。
因此,對(duì)感應(yīng)器的數(shù)據(jù),我們通過(guò)算法 A 后,得到最終的 xi?x_i^*xi??,記取值為 x?+δx^*+\deltax?+δ 或 x??δx^*-\deltax??δ 的 xi?x_i^*xi?? 的數(shù)量為 mmm,于是沖擊性風(fēng)險(xiǎn)為 m/nm/nm/n 。
我們也可以搞復(fù)雜一點(diǎn),因?yàn)闆_擊性持續(xù)時(shí)間越長(zhǎng),意味著風(fēng)險(xiǎn)越大。因此,若取值為 x?+δx^*+\deltax?+δ 或 x??δx^*-\deltax??δ的數(shù)連續(xù)出現(xiàn),我們可以給其添加權(quán)重。
如出現(xiàn)以及,記為 1 分,連續(xù)出現(xiàn) 2 次,記為 1+21+21+2,連續(xù)出現(xiàn) 3 次,記為 1+2+31+2+31+2+3 …,若間隔出現(xiàn) 2 次,則記為 1+11 + 11+1,以此類(lèi)推,最終求和得到 m′m^\primem′。
于是,沖擊性風(fēng)險(xiǎn)即為:
risk1=m′nrisk_1 =\frac {m^\prime}{n} risk1?=nm′?
獨(dú)立性和偶發(fā)性誤差
獨(dú)立性和偶發(fā)性,讓一個(gè)原本平滑的時(shí)間序列,成為了一組白噪聲。
理想狀態(tài)下,傳感器的數(shù)值應(yīng)為:
加入白噪聲后,應(yīng)為:
或:
因此,若一個(gè)時(shí)間序列,在打亂其時(shí)序后,滿足正態(tài)分布,則證明時(shí)間序列有白噪聲。又或者,時(shí)間序列滿足均勻分布,如上圖傳感器 8 ,則亦可以證明時(shí)間序列的風(fēng)險(xiǎn)低。
正態(tài)分布檢驗(yàn)—— Anderson–Darling 檢驗(yàn)(原理部分別看)
實(shí)踐表明,AD 檢驗(yàn)檢驗(yàn)正態(tài)分布,似乎比 KS 檢驗(yàn)還要差!,所以本文用 KS 檢驗(yàn)了
Anderson-Darling 檢驗(yàn)是 Kolmogorov-Smirnov 檢驗(yàn)的改良,他能夠利用正態(tài)分布的分布函數(shù)的良好的數(shù)學(xué)特性,故比起 Kolmogorov 檢驗(yàn)面對(duì)所有分布的檢驗(yàn),Anderson-Darling 檢驗(yàn)?zāi)茚槍?duì)正態(tài)分布,故其檢驗(yàn)性質(zhì)更加準(zhǔn)確。
另外,比起 Shapiro-Wilk 檢驗(yàn),也是針對(duì)正態(tài)分布的特定的檢驗(yàn),但在樣本容量大于 5000 時(shí),則準(zhǔn)確度不高。具體見(jiàn):Shapiro Wilk 檢驗(yàn) 維基百科:https://en.wikipedia.org/wiki/Shapiro%E2%80%93Wilk_test
AD 檢驗(yàn)的原假設(shè)為:樣本服從正態(tài)分布 N(μ,σ2)N(\mu, \sigma^2)N(μ,σ2),若 μ,σ\mu,\sigmaμ,σ 未知,則可以用樣本的估計(jì)量代替。
AD 檢驗(yàn)的檢驗(yàn)統(tǒng)計(jì)量為:
A2=?n?1n∑i=1n(2i?1)(ln?Φ(Yi)+ln?(1?Φ(Yn?1?i)))A^{2}=-n-\frac{1}{n} \sum_{i=1}^{n}(2 i-1)\left(\ln \Phi\left(Y_{i}\right)+\ln \left(1-\Phi\left(Y_{n-1-i}\right)\right)\right) A2=?n?n1?i=1∑n?(2i?1)(lnΦ(Yi?)+ln(1?Φ(Yn?1?i?)))
其中 YiY_iYi? 為:
Yi=Xi?μ^σ^Y_{i}=\frac{X_{i}-\hat{\mu}}{\hat{\sigma}} Yi?=σ^Xi??μ^??
均值和方差:
μ^={μ,if?the?mean?is?known.?Xˉ,=1n∑i=1nXiotherwise.?σ^2={σ2,if?the?variance?is?known.?1n∑i=1n(Xi?μ)2,if?the?variance?is?not?known,?but?the?mean?is.?1n?1∑i=1n(Xi?Xˉ)2,otherwise.?\begin{array}{l} \hat{\mu}=\left\{\begin{array}{ll} \mu, & \text { if the mean is known. } \\ \bar{X},=\frac{1}{n} \sum_{i=1}^{n} X_{i} & \text { otherwise. } \end{array}\right. \\ \hat{\sigma}^{2}=\left\{\begin{array}{ll} \sigma^{2}, & \text { if the variance is known. } \\ \frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}, & \text { if the variance is not known, but the mean is. } \\ \frac{1}{n-1} \sum_{i=1}^{n}\left(X_{i}-\bar{X}\right)^{2}, & \text { otherwise. } \end{array}\right. \end{array} μ^?={μ,Xˉ,=n1?∑i=1n?Xi???if?the?mean?is?known.??otherwise.??σ^2=????σ2,n1?∑i=1n?(Xi??μ)2,n?11?∑i=1n?(Xi??Xˉ)2,??if?the?variance?is?known.??if?the?variance?is?not?known,?but?the?mean?is.??otherwise.???
而 XiX_iXi? 為次序統(tǒng)計(jì)量,即將原始數(shù)據(jù)根據(jù)升序的方式進(jìn)行排序。檢驗(yàn)統(tǒng)計(jì)量 A2A^2A2 的臨界值如表所示:
若 A2A^2A2 大于臨界值,則拒絕原假設(shè),即認(rèn)為樣本不服從正態(tài)分布。
當(dāng)然,A2A^2A2 在樣本接近 ∞\infin∞ 的時(shí)候,如本例的 5000 個(gè)樣本,則 A2A^2A2 服從:
Pr?(A2<z)=2πz∑i=0∞(?12j)(4i+1)e?(4i+1)2π2/(8z)∫0∞ez8(1+w2)?w2(4i+1)2π2/(8z)dw\operatorname{Pr}\left(A^2<z\right)=\frac{\sqrt{2 \pi}}{z} \sum_{i=0}^{\infty}\left(\begin{array}{c} -\frac{1}{2} \\ j \end{array}\right)(4 i+1) e^{-(4i+1)^{2} \pi^{2} /(8 z)} \int_{0}^{\infty} e^{\frac{z}{8\left(1+w^{2}\right)}-w^{2}(4 i+1)^{2} \pi^{2} /(8 z)} d w Pr(A2<z)=z2π??i=0∑∞?(?21?j?)(4i+1)e?(4i+1)2π2/(8z)∫0∞?e8(1+w2)z??w2(4i+1)2π2/(8z)dw
當(dāng)然,也可以根據(jù)近似公式計(jì)算 p-value,如下:
p?value={exp?(1.2937?5.709AD?.0186AD2),AD≥0.6exp?(0.9177?4.279AD?1.38AD2)AD≥0.34exp?(?8.318+42.796AD?59.938AD2)AD≥0.2exp?(?13.436+101.14AD?223.73AD2)otherwise\begin{array}{l} p-value =\left\{\begin{array}{ll} \exp(1.2937 - 5.709AD - .0186AD^2), & AD \geq 0.6 \\ \exp(0.9177 - 4.279AD - 1.38AD^2) & AD \geq 0.34 \\ \exp(-8.318 + 42.796AD - 59.938AD^2) & AD \geq 0.2\\ \exp(-13.436 + 101.14AD - 223.73AD^2) & \text{otherwise} \\ \end{array} \right. \end{array} p?value=????????exp(1.2937?5.709AD?.0186AD2),exp(0.9177?4.279AD?1.38AD2)exp(?8.318+42.796AD?59.938AD2)exp(?13.436+101.14AD?223.73AD2)?AD≥0.6AD≥0.34AD≥0.2otherwise??
其中 AD 為 A2A^2A2 的調(diào)整:
AD=A2×(1+(.75/n)+2.25/(n2))AD = A^2 \times (1 + (.75/n) + 2.25/(n^2)) AD=A2×(1+(.75/n)+2.25/(n2))
因此我們可以計(jì)算出相應(yīng)的 p-value。若 p-value 越接近于 1,意味著樣本越有可能是正態(tài)分布,也即風(fēng)險(xiǎn)越小。
參考文獻(xiàn):
A^2 臨界值表
[A^2 的分布函數(shù)]:Evaluating the Anderson-Darling Distribution 作者:George Marsaglia。
AD 檢驗(yàn)維基百科
(上述文獻(xiàn)我放到代碼文件里了)
AD p-value 近似計(jì)算
均勻分布檢驗(yàn)——Kolmogorov–Smirnov 檢驗(yàn)
Kolmogorov 檢驗(yàn)可以檢驗(yàn)?zāi)硞€(gè)樣本的總體,是否服從給定的分布(任意分布)。當(dāng)然,至于為什么不用 Kolmogorov 檢驗(yàn)來(lái)判定正態(tài)性,是因?yàn)?Kolmogorov 檢驗(yàn)不夠 specification,不能完全運(yùn)用正態(tài)分布的良好數(shù)學(xué)特性,所以較之 Shapiro-Wilk 檢驗(yàn)來(lái)說(shuō),有效性較低。
但我們可以用 Kolmogorov 檢驗(yàn),來(lái)檢驗(yàn)樣本的總體是否滿足均勻分布。定義檢驗(yàn)統(tǒng)計(jì)量如下:
Dn=sup?x∣Fn(x)?F(x)∣D_{n}=\sup _{x}\left|F_{n}(x)-F(x)\right| Dn?=xsup?∣Fn?(x)?F(x)∣
其中 Fn(x)F_n(x)Fn?(x) 為經(jīng)驗(yàn)分布,F(x)F(x)F(x) 為實(shí)際分布,如下:
Fn(x)=1n∑i=1nI[?∞,x](Xi)F_{n}(x)=\frac{1}{n} \sum_{i=1}^{n} I_{[-\infty, x]}\left(X_{i}\right) Fn?(x)=n1?i=1∑n?I[?∞,x]?(Xi?)
I[?∞,x](Xi)I_{[-\infty, x]}\left(X_{i}\right)I[?∞,x]?(Xi?) 為指示函數(shù),若有樣本落在范圍內(nèi),則為 1。經(jīng)驗(yàn)函數(shù)根據(jù)樣本分布,模擬了總體的分布函數(shù)(CDF)。sup?x\sup_{x}supx? 是上確界之意。
Kolmogorov 檢驗(yàn)的原假設(shè)為:樣本 xix_ixi? 來(lái)源于總體分布F(x)F(x)F(x)。
根據(jù) Glivenko–Cantelli 原理,若樣本 xix_ixi? 來(lái)源于總體分布F(x)F(x)F(x),則 DnD_nDn? 將收斂于 0。或:
nDn?π→∞sup?t∣B(F(t))∣\sqrt{n} D_{n} \stackrel{\pi \rightarrow \infty}{\longrightarrow} \sup _{t}|B(F(t))| n?Dn??π→∞?tsup?∣B(F(t))∣
其中,B(t)B(t)B(t) 服從柯?tīng)柲窳_夫分布,其分布函數(shù)如下:
Pr?(K≤x)=1?2∑k=1∞(?1)k?1e?2k2x2=2πx∑k=1∞e?(2k?1)2π2/(8x2)\operatorname{Pr}(K \leq x)=1-2 \sum_{k=1}^{\infty}(-1)^{k-1} e^{-2 k^{2} x^{2}}=\frac{\sqrt{2 \pi}}{x} \sum_{k=1}^{\infty} e^{-(2 k-1)^{2} \pi^{2} /\left(8 x^{2}\right)} Pr(K≤x)=1?2k=1∑∞?(?1)k?1e?2k2x2=x2π??k=1∑∞?e?(2k?1)2π2/(8x2)
于是,我們也可以根據(jù)上述分布,計(jì)算出 p-value,p-value 越大,原假設(shè)越不容易被拒絕,也即數(shù)據(jù)服從均勻分布,風(fēng)險(xiǎn)越小。
Kolmogorov 檢驗(yàn):https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
非正常波動(dòng)系數(shù)
通過(guò) Kolmogorov-Smirnov 檢驗(yàn),計(jì)算出兩個(gè) p-value,記為 p1,p2p_{1}, p_{2}p1?,p2?。當(dāng)然,為了避免離群值對(duì)檢驗(yàn)的影響,在均勻分布檢驗(yàn)時(shí),我們只取四分位數(shù)之間的值進(jìn)行檢驗(yàn)。
于是可以評(píng)價(jià)時(shí)間序列的非白噪聲風(fēng)險(xiǎn)系數(shù)為:
risk2′=1?max?(psw′,pks′)risk_2^\prime = 1 - \max(p_{sw}^\prime, p_{ks}^\prime) risk2′?=1?max(psw′?,pks′?)
自相關(guān)性系數(shù)和自相關(guān)檢驗(yàn)
由于風(fēng)險(xiǎn)信號(hào)具有聯(lián)動(dòng)性和持續(xù)性,所以,我們可以用自相關(guān)系數(shù)來(lái)評(píng)判,我們的傳感器數(shù)據(jù),是否也具備聯(lián)動(dòng)性和持續(xù)性。
自相關(guān)系數(shù)
自相關(guān)系數(shù)旨在計(jì)算當(dāng)前時(shí)刻,和前 k 個(gè)時(shí)刻的 Pearson 相關(guān)系數(shù)其計(jì)算公式如下:
r=∑i=k+1n(xt?xˉt)(xt?k?xˉt?k)∑i=k+1n(xt?xˉt)2(xt?k?xˉt?k)2r = \frac{\sum_{i=k+1}^n (x_t - \bar{x}_t) (x_{t-k} - \bar{x}_{t-k})} {\sqrt{\sum_{i=k+1}^n (x_t - \bar{x}_t)^2 (x_{t-k}-\bar{x}_{t-k})^2}} r=∑i=k+1n?(xt??xˉt?)2(xt?k??xˉt?k?)2?∑i=k+1n?(xt??xˉt?)(xt?k??xˉt?k?)?
若 r 越接近于 1 或 -1 ,意味著數(shù)據(jù)之間的線性相關(guān)性越強(qiáng)。
參考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.autocorr.html 和 Pearson 相關(guān)系數(shù)的定義寫(xiě)出。
相關(guān)性檢驗(yàn)
同理,我們也可以對(duì)數(shù)據(jù)的自相關(guān)性進(jìn)行統(tǒng)計(jì)檢驗(yàn),原假設(shè)為 H0H_0H0?:兩組數(shù)據(jù)的相關(guān)系數(shù)為 0,即不存在相關(guān)性。
在原假設(shè)成立的情況下,可以證明的是,檢驗(yàn)統(tǒng)計(jì)量:
n?2?r1?r2~tn?2\frac{\sqrt{n-2} \cdot r} {\sqrt{1-r^2}}\sim t_{n-2} 1?r2?n?2??r?~tn?2?
換句話說(shuō),只要:
∣r∣≤tn?2(α/2)n?2+tn?22(α/2)|r|\leq \frac{t_{n-2}(\alpha/2)}{\sqrt{n-2+t_{n-2}^2(\alpha/2)}} ∣r∣≤n?2+tn?22?(α/2)?tn?2?(α/2)?
便可不拒絕原假設(shè),反之拒絕原假設(shè)。
對(duì)于上述兩個(gè)方法,我們考慮計(jì)算出數(shù)據(jù)對(duì) k∈[1,8]k\in [1, 8]k∈[1,8],也就是 0.15 s 到 2 min 之內(nèi)的自相關(guān)系數(shù),記為 [r1,r2,?,r20][r_1, r_2, \cdots, r_{20}][r1?,r2?,?,r20?],并進(jìn)行相關(guān)性檢驗(yàn)檢驗(yàn),若原假設(shè)不被拒絕,則將對(duì)應(yīng)的 rrr 置零,否則保留。
然后根據(jù)以下公式計(jì)算數(shù)據(jù)總體的聯(lián)動(dòng)性、持續(xù)性風(fēng)險(xiǎn):
risk3=∑i=18ri×i1+2+?+8risk_3 = \sum_{i=1}^{8} r_i \times \frac{i}{1+2+\cdots+8} risk3?=i=1∑8?ri?×1+2+?+8i?
上式的系數(shù)部分,表示自相關(guān)系數(shù)的持續(xù)時(shí)間越長(zhǎng),則權(quán)重越大。
參考:《概率論與數(shù)理統(tǒng)計(jì)》陳希孺,第六章 6.4 節(jié)
注意點(diǎn)
求自相關(guān)系數(shù)時(shí),有可能會(huì)遇到,即使是一條平直的線,也會(huì)具有很強(qiáng)的相關(guān)性,比如:
所以,我們要結(jié)合算法 A,若計(jì)算出來(lái)的 4 分位數(shù)相同,則需要將 rrr 置 0。 另外,還要結(jié)合 ADF 檢驗(yàn),來(lái)判斷時(shí)序數(shù)據(jù)是否穩(wěn)定:
穩(wěn)定性檢驗(yàn)——Augmented Dickey–Fuller Test
也可以同時(shí)檢驗(yàn)上述兩個(gè)特征:也即時(shí)序數(shù)據(jù)是否是白噪聲,或者是均勻分布的穩(wěn)定數(shù)據(jù)。換句話說(shuō),時(shí)序數(shù)據(jù)的均值和方差,不會(huì)隨著時(shí)間的變化而改變。
為此,本文采用:Augmented Dickey–Fuller 檢驗(yàn)
具體細(xì)節(jié)由于過(guò)于復(fù)雜,筆者自己也有很多沒(méi)搞清楚,所以只能簡(jiǎn)要介紹:ADF 檢驗(yàn)的原假設(shè)是:時(shí)序數(shù)據(jù)不是穩(wěn)定的,也即數(shù)據(jù)的均值和方差會(huì)隨著時(shí)間而變化。
因此,若拒絕了 ADF 降壓,則讓 r=0r=0r=0
風(fēng)險(xiǎn)計(jì)算總結(jié)
為了量化評(píng)判風(fēng)險(xiǎn),我們用到了:
結(jié)果展示
測(cè)得幾個(gè)風(fēng)險(xiǎn)最大的感應(yīng)器,以及其圖片如下所示:
第二問(wèn)
第一問(wèn)是對(duì) 0:00 到 23:00 進(jìn)行分析的。為了分析出某個(gè)時(shí)刻感應(yīng)器的風(fēng)險(xiǎn),我們需要以 30 分鐘為單位,進(jìn)行分析,從而得出總風(fēng)險(xiǎn)。
如上,以 30 分鐘為單位,算出每個(gè)感應(yīng)器的異常得分(得分用第一問(wèn)方法求出),求這段時(shí)間內(nèi)感應(yīng)器異常得分的總和,找出前 5 個(gè)異常得分總和最大的時(shí)刻即可。并把異常總得分,作為該時(shí)刻的異常得分。
在每個(gè)時(shí)刻上,找出 5 個(gè)異常得分最大的感應(yīng)器:
當(dāng)前時(shí)刻為:0 days 03:00:00 異常的感應(yīng)器有: ['感應(yīng)器2', '感應(yīng)器5', '感應(yīng)器6', '感應(yīng)器7', '感應(yīng)器11'] 異常得分為: 156.45667125866223 當(dāng)前時(shí)刻為:0 days 16:30:00 異常的感應(yīng)器有: ['感應(yīng)器6', '感應(yīng)器7', '感應(yīng)器11', '感應(yīng)器12', '感應(yīng)器13'] 異常得分為: 156.29759895209494 當(dāng)前時(shí)刻為:0 days 03:30:00 異常的感應(yīng)器有: ['感應(yīng)器2', '感應(yīng)器5', '感應(yīng)器6', '感應(yīng)器7', '感應(yīng)器11'] 異常得分為: 156.1732779754605 當(dāng)前時(shí)刻為:0 days 02:30:00 異常的感應(yīng)器有: ['感應(yīng)器2', '感應(yīng)器5', '感應(yīng)器6', '感應(yīng)器7', '感應(yīng)器11'] 異常得分為: 155.8447347080813 當(dāng)前時(shí)刻為:0 days 01:00:00 異常的感應(yīng)器有: ['感應(yīng)器57', '感應(yīng)器5', '感應(yīng)器6', '感應(yīng)器7', '感應(yīng)器11'] 異常得分為: 155.66803974065186第三問(wèn)
我們可以考慮兩種方法:
這里就考慮第一種方法吧(好累…)
這里還要將采樣頻率轉(zhuǎn)為 15 分鐘,不過(guò)最后博主還是克服難關(guān)啦:
當(dāng)前時(shí)刻為:23:15 異常的感應(yīng)器有: ['感應(yīng)器6', '感應(yīng)器12', '感應(yīng)器14', '感應(yīng)器20', '感應(yīng)器46'] 異常得分為: 140.87487118928732 當(dāng)前時(shí)刻為:23:30 異常的感應(yīng)器有: ['感應(yīng)器6', '感應(yīng)器12', '感應(yīng)器14', '感應(yīng)器20', '感應(yīng)器46'] 異常得分為: 140.51674777337848 當(dāng)前時(shí)刻為:23:45 異常的感應(yīng)器有: ['感應(yīng)器6', '感應(yīng)器12', '感應(yīng)器14', '感應(yīng)器20', '感應(yīng)器46'] 異常得分為: 140.48243399368258 當(dāng)前時(shí)刻為:24:00 異常的感應(yīng)器有: ['感應(yīng)器6', '感應(yīng)器12', '感應(yīng)器14', '感應(yīng)器20', '感應(yīng)器46'] 異常得分為: 140.52817104974736第四問(wèn)
至于第四問(wèn),其實(shí)就比較容易了。根據(jù)第二問(wèn)求出的異常總得分,將其標(biāo)準(zhǔn)化為 100 即可。設(shè) 30 分鐘為間隔的異常總得分為 xix_ixi?,標(biāo)準(zhǔn)化公式如下:
xi′=100×ximax?(xi)x_i^\prime = 100\times \frac{x_i}{\max{(x_i)}} xi′?=100×max(xi?)xi??
最后安全性得分為:
si=100?xi′s_i = 100-x_i^\prime si?=100?xi′?
并再次標(biāo)準(zhǔn)化:
si′=100×simax?(si)s_i^\prime = 100\times \frac{s_i}{\max{(s_i)}} si′?=100×max(si?)si??
最后得結(jié)果:
代碼與提問(wèn)
若需要代碼,請(qǐng)點(diǎn)贊,關(guān)注、私信、說(shuō)明題目和年份
如果有其他問(wèn)題,請(qǐng)到評(píng)論區(qū)留言,私信提問(wèn),概不回答。也在此鼓勵(lì)大家獨(dú)立思考。
本人不會(huì)回訪,不互關(guān),不互吹,以及謝絕諸如此類(lèi)事
編程收錄
編程之精髓,固在復(fù)用。每做題之際,偶有靈光一現(xiàn),或得謄錄網(wǎng)絡(luò)妙筆,觀之不忍釋手,是故獨(dú)辟一卷,畢錄于茲,以供覽閱。時(shí)在拋磚引玉,虛左待教。或偶逢旮旯罅隙,探索漫漫,復(fù)而柳暗花明,何其喜洋洋矣,然忖后來(lái)者亦常陷類(lèi)似之困囿者何其蕓蕓,榫卯之機(jī),舉手之勞,此間不可不錄也。
算法 A 代碼
總結(jié)
以上是生活随笔為你收集整理的2021 年 五一数学建模比赛 C 题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用 VMware vRealize -
- 下一篇: 3732: Network