张裕 发表于 2024-9-22 08:05:20

2024 “华为杯” 中国研究生数学建模竞赛(B题)深度剖析|WLAN组网中网络吞

当各人面对着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大门生数学建模比赛的O奖得主,我为各人提供了一套优秀的解题思路,让你轻松应对各种难题!
CS团队倾注了大量时间和心血,深入挖掘解决方案。通过相关性分析,时间序列分析、多项式回归分析等算法,设计了明晰的项目,团队努力体如今每个步调,确保方案既创新又可行,为各人提供了全面而深入的洞见噢~
让我们来看看研赛(B题)!
完整内容可以在文章末端领取!
https://i-blog.csdnimg.cn/direct/ad52743feb2d4e108d4f3208df6f529f.jpeg#pic_center
问题一

请根据附件WLAN网络实测练习集中所提供的网络拓扑、业务流量、门限、节点间RSSI的测试根本信息,分析其中各参数对AP发送机会的影响,并给出影响性强弱的序次。通过练习的模子,预测每个AP的发送机会,即发送数据帧序列的总时长(seq_time),并通过测试集 test_set_1_2ap和test_set_1_3ap(仅提供模子输入信息)预测AP发送数据帧序列的总时长。可按照同频AP个数分类分析和分别建模,也可统一分析和建模。
为了回应第一个问题,我们首先必要分析各参数对AP发送机会的影响,并根据重要性确定其序次。接着,利用所提供的实测数据创建模子,预测每个AP的发送数据帧序列的总时长(seq_time)。以下是对该问题的解答。
一、分析参数对AP发送机会影响的强弱序次

在WLAN环境中,AP的发送机会(seq_time)受多种因素的影响。联合背景信息,我们讨论几种重要因素及其影响:

[*] 节点间RSSI:

[*]RSSI是影响信号质量的关键因素。高RSSI意味着信号强、干扰小,从而更有可能成功发送数据。
[*]影响强度:非常强。

[*] 访问控制机制:

[*]CCA和NAV机制直接决定了AP在何时可以发送数据。若信道繁忙或处于NAV静默期,AP将无法发送数据.
[*]影响强度:强。

[*] MCS/NSS (调制编码方案和空间流数):

[*]发送数据时选用的调制编码方案和流数影响数据发送速率,变化的MCS/NSS会影响信号的解调和成功发送几率。
[*]影响强度:中等偏强。

[*] 业务流量类型和数据长度:

[*]业务流量会影响AP发送数据的频率和时长。差别协议(UDP与TCP)及数据帧长度会影响总时长。
[*]影响强度:中等。

[*] 门限设置 (PD、ED、NAV):

[*]包检测门限(PD)、能量检测门限(ED)和NAV门限影响AP辨认信道状态的能力,进而影响其发送机会。
[*]影响强度:中等。

[*] 测试时长 (test_dur):

[*]测试的持续时间直接影响参与竞争的机会,测试时间越长,发送机会越多。
[*]影响强度:轻微。

二、建模方法

根据上述分析,我们可以构建一个线性回归模子来预测AP的发送框架序列总时长(seq_time):
设                                    X                         =                         [                                 x                            1                                  ,                                 x                            2                                  ,                         …                         ,                                 x                            n                                  ]                              X =                   X= 为输入特性向量,其中包罗网络拓扑、业务流量、门限、节点间RSSI等信息。
模子的回归情势可以写为:
                                       s                            e                            q                            _                            t                            i                            m                            e                            =                                       β                               0                                    +                                       β                               1                                    ⋅                            R                            S                            S                            I                            +                                       β                               2                                    ⋅                            C                            C                            A                            +                                       β                               3                                    ⋅                            M                            C                            S                            +                                       β                               4                                    ⋅                            f                            l                            o                            w                            _                            t                            y                            p                            e                            +                                       β                               5                                    ⋅                            t                            h                            r                            e                            s                            h                            o                            l                            d                            +                                       β                               6                                    ⋅                            t                            e                            s                            t                            _                            d                            u                            r                            +                            ϵ                                  seq\_time = \beta_0 + \beta_1 \cdot RSSI + \beta_2 \cdot CCA + \beta_3 \cdot MCS + \beta_4 \cdot flow\_type + \beta_5 \cdot threshold + \beta_6 \cdot test\_dur + \epsilon                     seq_time=β0​+β1​⋅RSSI+β2​⋅CCA+β3​⋅MCS+β4​⋅flow_type+β5​⋅threshold+β6​⋅test_dur+ϵ
其中,                                             β                            0                                       \beta_0                  β0​ 是截距,                                             β                            1                                  ,                         …                         ,                                 β                            6                                       \beta_1, \ldots, \beta_6                  β1​,…,β6​ 是模子权重系数,                                 ϵ                              \epsilon                  ϵ 是误差项。
三、模子练习和预测


[*] 数据处理:

[*]从练习集(“training_set_xx”)中提取特性变量,并对缺失值及非常值举行处理。

[*] 模子练习:

[*]利用线性回归算法在特性变量上举行练习,调整模子参数以最小化预测误差。

[*] 举行预测:

[*]利用练习好的模子输入测试集(test_set_1_2ap和test_set_1_3ap)的特性变量举行预测。

四、评估模子

通过计算模子的均方误差(MSE)、决定系数(R²)等指标,评估预测效果,确保模子的有效性。如果模子表现不尽如人意,则可能采用更复杂的呆板学习模子,如随机森林或神经网络举行改进。
总结

基于输入数据,联合WLAN环境的特性,通过线性回归模子分析各参数对AP发送机会的影响并举行预测,为后续问题的分析提供了重要依据。请利用以上的框架和步调,联合具体数据集举行建模和预测。
根据WLAN网络实测练习集中所提供的网络拓扑、业务流量、门限、节点间RSSI等信息,我们可以分析各个参数对接入点(AP)发送机会的影响。以下是参数的具体分析及其影响序次:
1. 参数分析


[*] RSSI(Received Signal Strength Indicator):

[*]RSSI 是AP与STA之间信号强度的指标。更高的RSSI值通常意味着更好的信号质量,从而可以提高发送机会。高RSSI可以使信道的干扰低落,增长数据传输成功的概率。
[*]对于异步传输环境,AP间的RSSI差别将直接影响吸收端的SINR(Signal to Interference and Noise Ratio),从而影响每个AP的发送成功率。

[*] CCA门限(Clear Channel Assessment Threshold):

[*]CCA门限决定了AP何时能够认为信道是空闲的。合适的CCA门限可以镌汰因错误判定信道繁忙导致的发送机会的丧失。门限值过高可能导致AP频繁休眠,从而镌汰发送机会。

[*] NAV(Network Allocation Vector)机制:

[*]NAV指示了其他节点在特定时间段内的静默期。如果一个AP能够正确地设置NAV并让邻近AP持续静默,将获得更多的发送机会。NAV的有效性与AP之间的RSSI及其设定的门限密切相关。

[*] 业务流量类型:

[*]差别的业务流量(如UDP和TCP)具有差别的特性。比方,UDP是无毗连的,得当流媒体或即时通信等场景,而TCP则必要 ACK 确认,可能造成发送延迟。这种差别直接影响AP发送数据时机与频率。

[*] 竞争窗口大小(Contention Window):

[*]竞争窗口大小在信道竞争中饰演重要角色。较小的CW值可以增长发送机会,但可能造成冲突较多。通过调治CW值,AP在差别环境下可以适应当前的网络压力,从而优化发送机会。

2. 影响性序次

综合以上分析,影响AP发送机会的各个因素的强弱影响序次为:

[*]RSSI
[*]NAV机制
[*]CCA门限
[*]业务流量类型
[*]竞争窗口大小
3. 吞吐量预测模子

为预测每个AP的发送机会,即“发送数据帧序列的总时长”(                                 s                         e                         q                         _                         t                         i                         m                         e                              seq\_time                  seq_time),我们可以构建以下模子:
                                       s                            e                            q                            _                            t                            i                            m                            e                            =                            f                            (                            R                            S                            S                            I                            ,                            C                            C                            A                            _                            t                            h                            r                            e                            s                            h                            o                            l                            d                            ,                            N                            A                            V                            ,                            T                            r                            a                            f                            f                            i                            c                            _                            t                            y                            p                            e                            ,                            C                            W                            )                                  seq\_time = f(RSSI, CCA\_threshold, NAV, Traffic\_type, CW)                     seq_time=f(RSSI,CCA_threshold,NAV,Traffic_type,CW)
其中$ f $表现一个适当的映射函数,可以通过回归分析或呆板学习模子练习以获得。在模子的练习过程中,我们必要利用练习集中每个AP的RSSI、CCA门限、NAV、流量类型和CW等变量作为输入特性,同时以每个AP的发送时长为标签举行练习。
4. 实际预测

在得到练习的模子后,可以利用测试集 test_set_1_2ap 和 test_set_1_3ap 中提供的信息举行预测,并输出每个AP的发送数据帧序列总时长。然后通过比较预测值与实际发送时间评估模子的正确度。
这种方法联合了网络拓扑、信道信息、AP间的竞争环境及业务类型,有助于在复杂的无线环境中正确预测AP的发送机会,进而提高WLAN的整体吞吐量和服从。
5. 独特见解

由于无线信道受环境变化影响显著,预测模子应具备自适应能力,能够根据实时的信道状态举行动态优化。因此,持续网络和分析网络数据,利用在线学习的方法迭代更新模子,将是至关重要的,这对于应对多变的无线环境和复杂的性能需求尤为重要。
https://i-blog.csdnimg.cn/direct/21f1f7aaaf794636b17078d5f0263018.png#pic_center
问题1答案

为了解析各种参数对AP发送机会的影响,我们可以创建模子来评估差别因素对发送时长的影响。关键因素包括:

[*]网络拓扑参数(如AP与STA之间的RSSI、AP数目等)
[*]业务流量信息(如数据包大小、流量类型等)
[*]门限信息(如包检测门限PD、能量检测门限ED等)
影响分析


[*] RSSI(吸收信号强度指示)

[*]RSSI是影响信道状态的一个重要参数,其值影响到信道是否被判定为占用。
[*]当某个AP发数据时,该AP与STA之间必要有富足的RSSI值才气确保数据成功发送,因此在模子中,RSSI越高,发送机会越高。

[*] AP数目

[*]当同频AP的数目越多,竞争越激烈,可能导致冲突,从而影响成功发送的时长。理论上,AP数目增长时,发送时长会镌汰,由于每个AP的发送机会会被分配得更少。

[*] 数据包大小(pkt_len)

[*]数据包的长度直接影响每次传输的时长。较大的包在传输中占用更多的信道时间。可以通过以下公式表现:
                                                      Transmission Time                                     =                                                   Packet Size (bits)                                        PHY Rate (bps)                                                         \text{Transmission Time} = \frac{\text{Packet Size (bits)}}{\text{PHY Rate (bps)}}                              Transmission Time=PHY Rate (bps)Packet Size (bits)​
[*]别的,包大小也影响可能的传输成功率,即如果包过大,可能导致更多的丢包。

[*] 流量类型(UDP/TCP)

[*]流量类型决定了数据的传输特性,UDP为无毗连协议,不必要ACK,因此有可能提高发送频率,而TCP则必要确认,因此会受到ACK的延迟影响。

[*] 门限值(PD和ED)

[*]PD和ED的设置决定了信道的访问策略。当信道忙时,AP会等待。因此,较低的门限值可能会给AP提供更多的发送机会。

影响序次

根据我们的分析,影响发送机会的因素可以按以下序次分列(由强到弱):

[*]RSSI
[*]AP数目
[*]门限值(PD和ED)
[*]数据包大小(pkt_len)
[*]流量类型(UDP/TCP)
模子预测

我们可以利用线性回归或其他呆板学习模子(如随机森林、XGBoost等)来预测每个AP的发送机会(seq_time)。我们可以将上述参数作为特性输入,构建模子来预测AP的发送时长。
假设我们选择线性回归模子,预测方程可以表现为:
                                                    seq_time                               i                                    =                                       β                               0                                    +                                       β                               1                                    ⋅                                       RSSI                               i                                    +                                       β                               2                                    ⋅                            AP_数目                            +                                       β                               3                                    ⋅                                       pkt_len                               i                                    +                                       β                               4                                    ⋅                                       流量类型                               i                                    +                                       β                               5                                    ⋅                            PD                            +                                       β                               6                                    ⋅                            ED                            +                            ϵ                                  \text{seq\_time}_i = \beta_0 + \beta_1 \cdot \text{RSSI}_i + \beta_2 \cdot \text{AP\_数目} + \beta_3 \cdot \text{pkt\_len}_i + \beta_4 \cdot \text{流量类型}_i + \beta_5 \cdot \text{PD} + \beta_6 \cdot \text{ED} + \epsilon                     seq_timei​=β0​+β1​⋅RSSIi​+β2​⋅AP_数目+β3​⋅pkt_leni​+β4​⋅流量类型i​+β5​⋅PD+β6​⋅ED+ϵ
其中,                                             β                            0                                       \beta_0                  β0​是截距项,                                             β                            1                                  ,                                 β                            2                                  ,                         .                         .                         .                              \beta_1, \beta_2, ...                  β1​,β2​,...是各个参数的回归系数,                                 ϵ                              \epsilon                  ϵ是誤差项。
末了,我们将用测试集test_set_1_2ap和test_set_1_3ap来验证模子的预测效果。通过模子的输出,可以得到各个AP发送数据帧序列的总时长(seq_time)。
在答复第一个问题之前,我们必要对给定的WLAN网络实测练习集数据举行分析,以确定差别参数对AP发送机会(即发送数据帧序列的总时长)的影响。以下是处理的思路和Python代码示例。
分析思路:


[*] 数据读取与预处理:

[*]读取练习集的数据,了解数据的结构和内容。
[*]清洗和处理缺失值。

[*] 特性选择:

[*]选择影响AP发送机会的特性,包括网络拓扑、业务流量、门限、节点间RSSI等信息。

[*] 模子练习:

[*]利用回归模子(如线性回归、随机森林回归等)来预测每个AP的发送机会(发送数据帧序列的总时长 seq_time)。

[*] 特性重要性评估:

[*]通过模子的特性重要性评估各参数对AP发送机会的影响,并给出影响性强弱的序次。

[*] 预测:

[*]利用练习好的模子对测试集 test_set_1_2ap 和 test_set_1_3ap 举行预测。

Python 代码示例:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
import numpy as np

# Step 1: Read training data
training_data = pd.read_csv('training_set.csv')# replace with actual path

# Step 2: Data Preprocessing
# Here you can filter out necessary columns and clean the data
features = training_data[['test_dur', 'eirp', 'pd', 'ed', 'nav', 'ap_from_ap_1_sum_ant_rssi',
                        'ap_from_ap_2_sum_ant_rssi', 'sta_to_ap_1_sum_ant_rssi',
                        'sta_to_ap_2_sum_ant_rssi']]
target = training_data['seq_time']

# Step 3: Train Test Split
X_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)

# Step 4: Model Training
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# Step 5: Feature Importance
feature_importance = model.feature_importances_
importance_df = pd.DataFrame({'Feature': features.columns, 'Importance': feature_importance})
importance_df = importance_df.sort_values(by='Importance', ascending=False)

# Display feature importance
print("Feature Importance (Descending Order):")
print(importance_df)

# Step 6: Predicting on test set
predictions = model.predict(X_test)
mse = mean_squared_error(y_test, predictions)
print(f'Mean Squared Error on Test Set: {mse}')

# Optionally, save predictions to a CSV file if needed
# predictions_df = pd.DataFrame({'Predicted_seq_time': predictions})
# predictions_df.to_csv('predictions.csv', index=False)
具体说明:



[*]数据读取: 通过 pd.read_csv 读取练习数据集。
[*]特性选择: 选择与AP发送机会相关的重要特性。
[*]模子练习: 这里利用了随机森林回归模子来举行练习。
[*]特性重要性: 评估每个特性对预测效果的影响,并按影响度排序。
[*]预测和评估: 在测试集上举行预测并计算均方误差(MSE)。
问题二

第二个问题是:“请根据附件提供的实测练习集中的测试根本信息,特别是节点间RSSI信息和门限信息,联合问题1中对AP发送机会的分析,对测试中AP发送数据选用最多次数的(MCS, NSS)举行建模,并通过测试集 test_set_2_2ap和test_set_2_3ap(仅提供模子输入信息)预测(MCS, NSS)。”
这意味着参赛者必要利用医疗中网络的数据来分析和预测接入点(AP)在发送数据时,最常利用的调制编码方案(MCS)和空间流数(NSS),以便优化WLAN系统的吞吐量。
问题2的建模方法

为了预测AP发送数据时选用最多次数的(MCS, NSS),必要基于测试集中的网络拓扑、业务流量、门限信息,以及节点间的RSSI(Received Signal Strength Indication)信息来举行建模。以下是具体的建模步调以及方法。
1. 数据预处理

首先,准备练习集中相关的数据。具体包括:


[*]各个AP的网络拓扑信息。
[*]各AP与STA间的RSSI数据。
[*]CCA门限和NAV门限。
在数据预处理阶段,可以利用Python或MATLAB等工具来处理数据,以提取出有用特性。
2. 特性选择

以下特性可能与选择的(MCS, NSS)有直接关系:


[*]                                              S                               I                               N                               R                                    SINR                        SINR: 信干噪比,计算方法为:
                                                   S                                  I                                  N                                             R                                                   a                                        p                                        ,                                        s                                        t                                        a                                                         =                                  R                                  S                                  S                                             I                                                   a                                        p                                        ,                                        s                                        t                                        a                                                         −                                                             max                                        ⁡                                                                i                                        ≠                                        j                                                         (                                  R                                  S                                  S                                             I                                                   a                                                       p                                           j                                                      ,                                        s                                        t                                        a                                                         )                                          SINR_{ap,sta} = RSSI_{ap,sta} - \max_{i \neq j}(RSSI_{ap_j,sta})                           SINRap,sta​=RSSIap,sta​−i=jmax​(RSSIapj​,sta​)
其中,                                             R                               S                               S                                           I                                             a                                                   p                                        i                                                ,                                     s                                     t                                     a                                                             RSSI_{ap_i,sta}                        RSSIapi​,sta​是来自AP到STA的RSSI值,且                                             i                                    i                        i是AP的索引。
[*]                                              P                               E                               R                                    PER                        PER: 丢包率,该数据在统计信息中已提供。
[*]                                              p                               k                               t                               _                               l                               e                               n                                    pkt\_len                        pkt_len: 数据包长度,在业务流量信息中可获得。
[*]                                              t                               e                               s                               t                               _                               d                               u                               r                                    test\_dur                        test_dur: 测试持续时间,该信息在网络拓扑中提供。
基于这些特性,创建特性矩阵                                 X                              X                  X。
3. 创建预测模子

我们可以采用多种呆板学习算法来创建预测模子,如线性回归、决策树、随机森林或XGBoost等。
模子的目标是预测概率分布:
模子输出为每个可能的(MCS, NSS)的组合:
                                       (                            M                            C                            S                            ,                            N                            S                            S                            )                            ∈                            {                            (                            0                            ,                            1                            )                            ,                            (                            1                            ,                            1                            )                            ,                            .                            .                            .                            ,                            (                            11                            ,                            2                            )                            }                                  (MCS, NSS) \in \{(0, 1), (1, 1), ..., (11, 2)\}                     (MCS,NSS)∈{(0,1),(1,1),...,(11,2)}
对应于每个AP,我们可以界说一个概率分布                                 P                              P                  P,表如今特定条件下每对(MCS, NSS)的选择概率:
                                       P                            (                            M                            C                                       S                               i                                    ,                            N                            S                                       S                               j                                    ∣                            X                            )                                  P(MCS_i, NSS_j | X)                     P(MCSi​,NSSj​∣X)
利用softmax函数举行规范化,确保所有概率和为1:
                                       P                            (                            M                            C                                       S                               i                                    ,                            N                            S                                       S                               j                                    ∣                            X                            )                            =                                                   e                                  x                                  p                                  (                                             θ                                     i                                     T                                              X                                  )                                                                   ∑                                     k                                              e                                  x                                  p                                  (                                             θ                                     k                                     T                                              X                                  )                                                       P(MCS_i, NSS_j | X) = \frac{exp(\theta_i^TX)}{\sum_k exp(\theta_k^TX)}                     P(MCSi​,NSSj​∣X)=∑k​exp(θkT​X)exp(θiT​X)​
其中,                                 θ                              \theta                  θ是模子的参数。
4. 模子练习

利用交织验证来评估模子的性能,通过多次练习、验证集评估模子预测的(MCS, NSS)组合。可以利用正确率、肴杂矩阵或其他指标来评估模子精度。
5. 预测

在练习模子完成后,利用测试集 test_set_2_2ap 和 test_set_2_3ap 的输入数据举行预测。


[*]利用模子输出的概率                                        P                            (                            M                            C                                       S                               i                                    ,                            N                            S                                       S                               j                                    ∣                            X                            )                                  P(MCS_i, NSS_j | X)                     P(MCSi​,NSSj​∣X),找出最大概率的(MCS, NSS):
                                       Predicted                             (                            M                            C                            S                            ,                            N                            S                            S                            )                            =                            arg                            ⁡                                                   max                                  ⁡                                                      (                                  i                                  ,                                  j                                  )                                                 P                            (                            M                            C                                       S                               i                                    ,                            N                            S                                       S                               j                                    ∣                            X                            )                                  \text{Predicted } (MCS, NSS) = \arg \max_{(i, j)} P(MCS_i, NSS_j | X)                     Predicted (MCS,NSS)=arg(i,j)max​P(MCSi​,NSSj​∣X)
6. 效果分析

根据模子的输出效果,分析差别(MCS, NSS)的选择环境,并评估模子的有效性。
可以通过对比实际选用的最多次数的(MCS, NSS)和模子预测的效果,对模子的精度举行进一步验证和优化。
总结

通过以上步调,我们构建一个基于RSSI和其他相关参数的模子来预测在WLAN系统中AP发送数据时选用的(MCS, NSS)。这一过程不但能够提高对AP的数据选择的明白,还将为后续的吞吐量建模提供关键参数。同时,模子练习和预测也有助于挖掘影响吞吐量的关键因素,为WLAN系统优化提供依据。
针对第二个问题,我们必要通过分析实测练习集中AP发送数据的调制编码方案(MCS)和空间流数(NSS),并联合节点间的RSSI信息和门限信息,创建AP发送数据过程中最常利用的(MCS, NSS)的预测模子。
2.1 数据特性分析

首先,我们必要从资料中提取出有助于MCS和NSS选择的特性,包括但不限于:

[*] 信号强度指标(RSSI):

[*]AP与STA之间的吸收信号强度(比方                                                   s                                  t                                  a                                  _                                  t                                  o                                  _                                  a                                             p                                     x                                              _                                  m                                  e                                  a                                  n                                  _                                  a                                  n                                  t                                  _                                  r                                  s                                  s                                  i                                          sta\_to\_ap_x\_mean\_ant\_rssi                           sta_to_apx​_mean_ant_rssi 等)。

[*] 门限信息:

[*]包检测门限(PD)、能量检测门限(ED)和NAV门限。

[*] AP发送机会:

[*]影响AP发送机会的重要参数(如seq_time等)。

2.2 模子构建

可以利用呆板学习模子(比方随机森林、支持向量机等)来预测最常用的(MCS, NSS)。预测过程可以分为如下几个步调:

[*] 数据预处理:

[*]处理缺失值与非常值。
[*]归一化RSSI及其他数值特性。

[*] 特性选择:

[*]通过模子的重要性分析(如SHAP值或特性重要性排名)选择对MCS和NSS预测最有影响的特性。

[*] 模子练习:

[*]选择合适的呆板学习算法,利用练习集举行模子练习。
[*]对差别的AP数目(如2个和3个AP)举行分类建模。

[*] 模子评估与调优:

[*]利用交织验证和网格搜索来调整超参数,确保模子泛化能力强。
[*]用测试集验证模子的精度。

2.3 预测表达

假设我们练习出的模子能够输出每个AP在特定条件下选择的MCS和NSS,我们将得到概率分布。
我们可以设:


[*]                                        P                            (                            M                            C                                       S                               i                                    ,                            N                            S                                       S                               j                                    ∣                            X                            )                                  P(MCS_{i}, NSS_{j}|X)                     P(MCSi​,NSSj​∣X) 是在特性集                                        X                                  X                     X下,选择特定                                        (                            M                            C                                       S                               i                                    ,                            N                            S                                       S                               j                                    )                                  (MCS_i, NSS_j)                     (MCSi​,NSSj​)的概率。
模子的输出可能是如许:
                                       (                            P                            (                            M                            C                                       S                               1                                    ,                            N                            S                                       S                               1                                    ∣                            X                            )                            ,                            P                            (                            M                            C                                       S                               2                                    ,                            N                            S                                       S                               2                                    ∣                            X                            )                            ,                            .                            .                            .                            ,                            P                            (                            M                            C                                       S                               n                                    ,                            N                            S                                       S                               m                                    ∣                            X                            )                            )                                  (P(MCS_{1}, NSS_{1}|X), P(MCS_{2}, NSS_{2}|X), ..., P(MCS_{n}, NSS_{m}|X))                     (P(MCS1​,NSS1​∣X),P(MCS2​,NSS2​∣X),...,P(MCSn​,NSSm​∣X))
其中,我们选择最大的概率作为我们最终的预测效果:
                                       (                            M                            C                                       S                                           p                                  r                                  e                                  d                                                 ,                            N                            S                                       S                                           p                                  r                                  e                                  d                                                 )                            =                            arg                            ⁡                                                   max                                  ⁡                                                      (                                  i                                  ,                                  j                                  )                                                 P                            (                            M                            C                                       S                               i                                    ,                            N                            S                                       S                               j                                    ∣                            X                            )                                  (MCS_{pred}, NSS_{pred}) = \arg\max_{(i,j)} P(MCS_{i}, NSS_{j}|X)                     (MCSpred​,NSSpred​)=arg(i,j)max​P(MCSi​,NSSj​∣X)
2.4 预测

将上述模子与测试集test_set_2_2ap和test_set_2_3ap联合,通过提前准备的特性数据输入到练习好的模子中,预测出各个AP最常选择的(MCS, NSS)。
结论与见解

通过分析WLAN网络环境中的RSSI、门限等关键参数,我们可以有效创建一个预测模子来推测AP在差别环境下最常用的调制编码方案和空间流数。在实际应用中,如许的预测可以帮助网络设计和优化,无疑对于提升整体吞吐量和用户体验具有重要意义。同时,设备在自适应调制编码下举行动态调整,不但提高了频谱利用率,同时也为应对复杂的无线信道干扰提供了灵活性。如许能够有效地适应不停变化的环境,提高WLAN系统的性能和可靠性。
要预测接入点 (AP) 在发送数据时选用的最多次数的调制编码方案 (MCS) 和空间流数 (NSS),可以通过分析与节点间 RSSI 信息和门限信息相关的因素来创建模子。在保持模子精度的前提下,以下是创建该模子的步调和相应的公式。
Step 1: 数据预处理

首先,从练习集数据中提取出相关特性(如 RSSI 和门限值),并构建输入特性矩阵                                    X                              X                  X 和目标变量                                    Y                              Y                  Y(最多选用的 (MCS, NSS) 对应的编号)。


[*]输入特性                                       X                                  X                     X 的构成(示例):

[*]KaTeX parse error: Expected 'EOF', got '_' at position 37: … RSSI_{\text{AP_̲x}}^{\text{mean…

Step 2: 界说模子

我们可以利用线性回归模子或分类模子(如逻辑回归、决策树等)来拟合 AP 发送数据时最常选用的 (MCS, NSS)。下面以线性回归模子为例,设定目标变量                                    Y                              Y                  Y 为 (MCS, NSS) 的选用计数。
对于线性回归模子,我们的模子可以表现为:
                                       Y                            =                                       β                               0                                    +                                       β                               1                                                 X                               1                                    +                                       β                               2                                                 X                               2                                    +                            …                            +                                       β                               n                                                 X                               n                                    +                            ϵ                                  Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_n X_n + \epsilon                     Y=β0​+β1​X1​+β2​X2​+…+βn​Xn​+ϵ
其中                                              β                            0                                       \beta_0                  β0​ 是截距,                                             β                            i                                       \beta_i                  βi​ 是特性                                              X                            i                                       X_i                  Xi​ 的系数,                                 ϵ                              \epsilon                  ϵ 是误差项。
Step 3: 模子练习

通过最小二乘法(最小化平方差)求解参数                                    β                              \beta                  β:
                                                    β                               ^                                    =                            (                                       X                               T                                    X                                       )                                           −                                  1                                                            X                               T                                    Y                                  \hat{\beta} = (X^T X)^{-1} X^T Y                     β^​=(XTX)−1XTY
然后,利用练习集数据来估计这些参数。
Step 4: 举行预测

在获取到模子参数后,利用测试集中的特性数据举行预测:
                                                    Y                               ^                                    =                                                   β                                  0                                          ^                                    +                                                   β                                  1                                          ^                                                 X                               1                                    +                                                   β                                  2                                          ^                                                 X                               2                                    +                            …                            +                                                   β                                  n                                          ^                                                 X                               n                                          \hat{Y} = \hat{\beta_0} + \hat{\beta_1} X_1 + \hat{\beta_2} X_2 + \ldots + \hat{\beta_n} X_n                     Y^=β0​^​+β1​^​X1​+β2​^​X2​+…+βn​^​Xn​
Step 5: 选择最多次数的 (MCS, NSS)

根据预测效果,选择预算中选用次数最多的 (MCS, NSS) 对应的值:
                                                    argmax                               i                                    (                                       Y                               i                                    )                                  \text{argmax}_i (Y_i)                     argmaxi​(Yi​)
这是通过对模子预测效果举行分类统计得到的 (MCS, NSS)。
实际应用

你可以利用呆板学习库(如 scikit-learn)来实现该预测模子,通过拟合练习数据,预测测试集的 (MCS, NSS)。
输出效果

最终,通过练习练习集并预测测试集中的 (MCS, NSS),将得到预测的调制编码方案和空间流数。
这些步调及公式提供了一个有效路径,用于预测 WLAN 系统中接入点的发送数据选用最多次数的 (MCS, NSS)。
为了预测AP发送数据时选用最多次数的(MCS, NSS),我们可以利用Python中的呆板学习库,基于提供的测试数据集分析节点间的RSSI信息和门限信息。下面是一个示例代码,它利用pandas举行数据处理和sklearn举行模子练习和预测。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 加载训练数据集
training_data = pd.read_csv('training_set.csv')# 请替换为实际路径
# 加载测试数据集
test_data_2ap = pd.read_csv('test_set_2_2ap.csv')# 请替换为实际路径
test_data_3ap = pd.read_csv('test_set_2_3ap.csv')# 请替换为实际路径

# 选择特征和标签
features = ['ap_from_ap_1_max_ant_rssi', 'ap_from_ap_2_max_ant_rssi', 'ed', 'pd', 'nav']# 示例特征
X = training_data
y = training_data['most_frequent_mcs_nss']# 目标变量:选用最多次数的(MCS, NSS)

# 切分训练数据与验证数据
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)

# 定义模型
model = RandomForestClassifier(n_estimators=100, random_state=42)

# 训练模型
model.fit(X_train, y_train)

# 验证模型
y_val_pred = model.predict(X_val)
accuracy = accuracy_score(y_val, y_val_pred)
print(f'Validation Accuracy: {accuracy:.2f}')

# 对测试集进行预测见完整代码文件

说明:


[*]数据加载: 请根据实际环境替换数据集文件路径。
[*]特性选择: 特性可以根据具体研究的必要举行选择,这里只是一个简单的示例。
[*]呆板学习模子: 利用随机森林模子,你可以根据实际数据特性选择其他模子。
[*]数据存储: 末了,预测效果会保存到新的CSV文件中。
请确保在运行此代码之前已安装pandas和sklearn库。如果没有安装,可以利用pip install pandas scikit-learn下令举行安装。根据数据的实际格式和特性,可能必要对字段名称和选择的特性举行调整。
https://i-blog.csdnimg.cn/direct/1e2551a0791e49d39732b728cc5ac8ca.png#pic_center
问题三

问题3:请联合问题1和问题2的分析,对系统吞吐量举行建模,并通过测试集test_set_1_2ap和test_set_1_3ap预测网络吞吐量。可按照同频AP个数分类建模,也可统一建模。无线信道具有瞬息万变的特点,实测中所测量的RSSI信息属于大标准信息,不足以完全反应真实信道变化,因而问题2对(MCS, NSS)的建模可能无法获得很高精度。本问题允许采用实测中统计的数据帧真实(MCS, NSS)作为模子输入变量。
在解决问题3之前,我们首先考虑系统吞吐量的界说。WLAN的吞吐量(Throughput)是指每个AP在单位时间内成功传输的比特数,通常由发送成功的数据帧履历确定。可以表现为:

[*]吞吐量的根本计算公式为:
                                       Throughput                            =                                                   N                                  ×                                  L                                          T                                          \text{Throughput} = \frac{N \times L}{T}                     Throughput=TN×L​
其中:


[*]                                        N                                  N                     N 是成功发送的数据帧的数目。
[*]                                        L                                  L                     L 是每个数据帧的比特数(通常等于数据长度乘以8)。
[*]                                        T                                  T                     T 是时间,单位为秒。

[*]为了计算整个系统的吞吐量,我们还必要考虑APs之间的竞争和交互。假设有                                        K                                  K                     K个AP,其总吞吐量可以写成:
                                       Total Throughput                            =                                       ∑                                           i                                  =                                  1                                          K                                                 Throughput                               i                                          \text{Total Throughput} = \sum_{i=1}^{K} \text{Throughput}_i                     Total Throughput=i=1∑K​Throughputi​

[*]在本问题中,我们必要考虑两个关键因素来对吞吐量举行建模:


[*]AP的发送时长(seq_time)和
[*]AP所选用的(MCS,NSS)组合。
基于前面的分析,我们可以建模吞吐量与这些因素的关系:
                                                    Throughput                               i                                    =                                                                P                                     i                                              ⋅                                  s                                  e                                  q                                  _                                  t                                  i                                  m                                             e                                     i                                              ⋅                                  MCS                                  (                                             C                                                   i                                        ,                                        j                                                         ,                                  N                                  S                                             S                                                   i                                        ,                                        j                                                         )                                          T                                          \text{Throughput}_i = \frac{P_{i} \cdot seq\_time_{i} \cdot \text{MCS}(C_{i,j}, NSS_{i,j})}{T}                     Throughputi​=TPi​⋅seq_timei​⋅MCS(Ci,j​,NSSi,j​)​
其中:


[*]                                                   P                               i                                          P_{i}                     Pi​ 是AP                                        i                                  i                     i的功率。
[*]                                        s                            e                            q                            _                            t                            i                            m                                       e                               i                                          seq\_time_{i}                     seq_timei​ 是AP                                        i                                  i                     i发送数据帧序列的总时长。
[*]                                        MCS                            (                                       C                                           i                                  ,                                  j                                                 ,                            N                            S                                       S                                           i                                  ,                                  j                                                 )                                  \text{MCS}(C_{i,j}, NSS_{i,j})                     MCS(Ci,j​,NSSi,j​) 是AP                                        i                                  i                     i 在第                                        j                                  j                     j次发送中所选用的调制编码方案的速率,依据其信道条件和SINR来确定。我们将这个函数视为输入的(MCS, NSS)组合在实际网络条件下产生的吞吐量。

[*]将吞吐量模子综合起来,得到最终的网络吞吐量预测公式:
                                       Total Throughput                            =                                       ∑                                           i                                  =                                  1                                          K                                                                        P                                     i                                              ⋅                                  s                                  e                                  q                                  _                                  t                                  i                                  m                                             e                                     i                                              ⋅                                  MCS                                  (                                             C                                                   i                                        ,                                        j                                                         ,                                  N                                  S                                             S                                                   i                                        ,                                        j                                                         )                                          T                                          \text{Total Throughput} = \sum_{i=1}^{K} \frac{P_{i} \cdot seq\_time_{i} \cdot \text{MCS}(C_{i,j}, NSS_{i,j})}{T}                     Total Throughput=i=1∑K​TPi​⋅seq_timei​⋅MCS(Ci,j​,NSSi,j​)​

[*] 在实际测量过程中,我们可以利用实测的(MCS, NSS)作为模子输入变量并利用统计数据来举行模子的练习和调整,以提高吞吐量预测的正确性。因此,最终的预测过程可以通过计算各AP的sending机会以及相应的选择的MCS和NSS举行。
[*] 模子评估通过比较预测总吞吐量与实测吞吐量,可以利用:
                                       Error (%)                            =                                                   predict throughput                                  −                                  throughput                                          throughput                                    ×                            100                                  \text{Error (\%)} = \frac{\text{predict throughput} - \text{throughput}}{\text{throughput}} \times 100                     Error (%)=throughputpredict throughput−throughput​×100

[*]通过累积分布函数(CDF)方法评估模子预测的精度,最终输出预测效果及评价指标,以反映模子的泛化能力和正确性。
以上是对WLAN网络吞吐量建模的数学基础框架。根据具体的数据集输入,您可以进一步细化各个参数的实际值来更完善地实施模子。
在 WLAN 系统吞吐量的建模中,我们必要综合考虑 AP 的发送机会、所选 PHY Rate(由 MCS 和 NSS 表征),以及数据帧的比特数等多个因素。根据前面问题的分析效果,我们构建吞吐量的预测模子,重要包括以下几个步调:

[*] 吞吐量计算公式:
鉴于吞吐量是指单位时间内成功发送的比特数,我们可以利用以下公式表达吞吐量                                              T                                    T                        T:
                                                   T                                  =                                                                            N                                                         p                                              p                                              d                                              u                                                                     ⋅                                                       L                                                         p                                              p                                              d                                              u                                                                                                            T                                                         s                                              e                                              q                                                                     +                                                       T                                                         o                                              t                                              h                                              e                                              r                                                                                                T = \frac{N_{ppdu} \cdot L_{ppdu}}{T_{seq} + T_{other}}                           T=Tseq​+Tother​Nppdu​⋅Lppdu​​
其中:

[*]                                                               N                                                   p                                        p                                        d                                        u                                                                   N_{ppdu}                           Nppdu​:每个数据帧的聚合个数(可以通过实测获得)。
[*]                                                               L                                                   p                                        p                                        d                                        u                                                                   L_{ppdu}                           Lppdu​:每个数据帧的有效载荷长度(比特数),通常与                                                   M                                  C                                  S                                          MCS                           MCS 和                                                   N                                  S                                  S                                          NSS                           NSS 相关。可以通过下列关系计算:
                                                                L                                                   p                                        p                                        d                                        u                                                         =                                  MCS                                  ⋅                                  NSS                                  ⋅                                  8                                   (参与的时隙数)                                          L_{ppdu} = \text{MCS} \cdot \text{NSS} \cdot 8 \text{ (参与的时隙数)}                           Lppdu​=MCS⋅NSS⋅8 (参与的时隙数)
   

[*]                                                               T                                                   s                                        e                                        q                                                                   T_{seq}                           Tseq​:AP 发送数据的帧序列的总时长(包括发送数据帧和吸收 ACK 的时间)。
[*]                                                               T                                                   o                                        t                                        h                                        e                                        r                                                                   T_{other}                           Tother​:除发送数据帧外,AP 发送管理帧等其他帧和吸收所占用的时间。

[*] 总吞吐量计算:
由于 WLAN 系统中存在多个 AP,我们可以通过将所有 AP 的吞吐量相加获得系统整体的吞吐量:
                                                                T                                                   t                                        o                                        t                                        a                                        l                                                         =                                             ∑                                                   i                                        =                                        1                                                                N                                                       A                                           P                                                                                    T                                     i                                                      T_{total} = \sum_{i=1}^{N_{AP}} T_i                           Ttotal​=i=1∑NAP​​Ti​
其中                                                          N                                             A                                     P                                                             N_{AP}                        NAP​ 为 AP 的总数,                                                         T                                  i                                                 T_i                        Ti​ 为第                                              i                                    i                        i 个 AP 的吞吐量。
[*] 模子的练习和预测:

[*]利用实测数据中的汗青吞吐量                                                   t                                  h                                  r                                  o                                  u                                  g                                  h                                  p                                  u                                  t                                          throughput                           throughput 作为模子的输出,输入变量可以包括 AP 发送机会、选择的                                                   (                                  M                                  C                                  S                                  ,                                  N                                  S                                  S                                  )                                          (MCS, NSS)                           (MCS,NSS)、RSSI 信息和其他门限信息等。
[*]可以应用回归算法(比方线性回归、随机森林回归或神经网络等)对吞吐量举行建模。
[*]对于流量类型(UDP 或 TCP)差别的环境,可以对模子举行分类练习,以便于捕获流量特性对吞吐量的影响。

[*] 实际输入变量:
为了提高预测精度,发起实时监测并利用实际统计的数据帧真实                                              (                               M                               C                               S                               ,                               N                               S                               S                               )                                    (MCS, NSS)                        (MCS,NSS) 作为输入变量,这将使模子更能反映当前信道状态的变化。
[*] 评估模子精度:
利用测试集                                              t                               e                               s                               t                               _                               s                               e                               t                               _                               1                               _                               2                               a                               p                                    test\_set\_1\_2ap                        test_set_1_2ap 和                                              t                               e                               s                               t                               _                               s                               e                               t                               _                               1                               _                               3                               a                               p                                    test\_set\_1\_3ap                        test_set_1_3ap 验证模子,将模子预测的吞吐量与实测吞吐量举行比较,计算误差,并绘制 CDF 曲线,从而评估模子的预测性能。
综上所述,通过联合影响因素和实测数据来创建 WLAN 吞吐量的预测模子,不但能够获得更为正确的预测效果,还能有效指导 WLAN 系统的优化和性能提升。在实际应用中,采集更多信道状态下的数据将不停完善模子,提高其实用性和正确度。
要建模和预测WLAN系统的吞吐量,我们必要联合前面的问题中得到的分析效果,尤其是关于AP的发送机会、选择的(MCS, NSS)以及数据包的特性。吞吐量的计算通常基于以下几个因素:

[*]有效发送时间(Effective Transmission Time):AP发送数据包的总持续时间。
[*]成功发送数据包个数(Successful Data Packets):为计算吞吐量必要考虑AP成功发送的数据包个数,而实际发送量受到丢包率(PER)的影响。
[*]每个数据包的大小(Packet Size):必要知道发送的每个数据包的大小。
吞吐量模子

根据WLAN的吞吐量界说,可以利用以下公式来表征AP的吞吐量:
                                       Throughput                            =                                       Successful Data Bits                               Total Time                                          \text{Throughput} = \frac{\text{Successful Data Bits}}{\text{Total Time}}                     Throughput=Total TimeSuccessful Data Bits​
其中,“Successful Data Bits” 是成功发送的数据总比特数,而 “Total Time” 则是该过程所用的总时间。
公式具体化

将其细化,我们可以写出:
                                       Throughput                            =                                                                N                                     data                                              ×                                             P                                     pkt                                              ×                                  (                                  1                                  −                                  P                                  E                                  R                                  )                                                                   T                                     seq                                              +                                             T                                     other                                                                   \text{Throughput} = \frac{N_{\text{data}} \times P_{\text{pkt}} \times (1 - PER)}{T_{\text{seq}} + T_{\text{other}}}                     Throughput=Tseq​+Tother​Ndata​×Ppkt​×(1−PER)​
其中:


[*]                                                   N                               data                                          N_{\text{data}}                     Ndata​: 成功发送的数据包个数。
[*]                                                   P                               pkt                                          P_{\text{pkt}}                     Ppkt​: 每个数据包的大小(以比特为单位)。
[*]                                        P                            E                            R                                  PER                     PER: 丢包率。
[*]                                                   T                               seq                                          T_{\text{seq}}                     Tseq​: AP发送数据帧的帧序列的总时长。
[*]                                                   T                               other                                          T_{\text{other}}                     Tother​: AP除发送数据帧外,发送管理帧和其他帧的时间。
利用练习集数据

从练习集数据中,我们可以获取以下参数:


[*]                                                   N                               data                                          N_{\text{data}}                     Ndata​: 可以通过统计每个AP在测试中的成功发送包个数直接获取。
[*]                                                   P                               pkt                                          P_{\text{pkt}}                     Ppkt​: 由业务流量信息中提取(通常为1500 Bytes,即 12000 bits)。
[*]                                        P                            E                            R                                  PER                     PER: 在模子分析中可以从汗青数据中算出,基于每个AP在差别环境下的发送成功率。
[*]                                                   T                               seq                                          T_{\text{seq}}                     Tseq​: 从问题1和问题2中的预测中得到。
[*]                                                   T                               other                                          T_{\text{other}}                     Tother​: 从数据集中的实时统计信息中获取。
预测吞吐量

最终,系统的总吞吐量可以表现为所有AP的吞吐量之和:
                                       Total Throughput                            =                                       ∑                                           i                                  =                                  1                                                      N                                  AP                                                                                     N                                                   i                                        ,                                        data                                                         ×                                             P                                     pkt                                              ×                                  (                                  1                                  −                                  P                                  E                                             R                                     i                                              )                                                                   T                                                   i                                        ,                                        seq                                                         +                                             T                                                   i                                        ,                                        other                                                                              \text{Total Throughput} = \sum_{i=1}^{N_{\text{AP}}} \frac{N_{i,\text{data}} \times P_{\text{pkt}} \times (1 - PER_i)}{T_{i,\text{seq}} + T_{i,\text{other}}}                     Total Throughput=i=1∑NAP​​Ti,seq​+Ti,other​Ni,data​×Ppkt​×(1−PERi​)​
其中,                                             N                            AP                                       N_{\text{AP}}                  NAP​ 是AP的数目,                                 i                              i                  i 表现每个AP的索引。
末了总结

这个模子能够为我们提供一个基于实测数据与统计的吞吐量预测。通过利用上述的公式,不但可以预测单个AP的吞吐量,还可以对整个WLAN系统的总吞吐量举行建模和预测,以支持后续的网络优化及设计决策。
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error, r2_score

# 读取训练集数据
train_data_2ap = pd.read_csv('training_set_2_AP.csv')
train_data_3ap = pd.read_csv('training_set_3_AP.csv')

# 特征选择
features_2ap = [
    'test_dur', 'eirp', 'pkt_len',
    'ap_from_ap_1_max_ant_rssi', 'ap_from_ap_2_max_ant_rssi',
    'sta_to_ap_1_sum_ant_rssi', 'sta_to_ap_2_sum_ant_rssi',
    'pd', 'ed', 'nav',
    # 这里可以增加节点间RSSI的其他相关字段...
]

features_3ap = [
    'test_dur', 'eirp', 'pkt_len',
    'ap_from_ap_1_max_ant_rssi', 'ap_from_ap_2_max_ant_rssi', 'ap_from_ap_3_max_ant_rssi',
    'sta_to_ap_1_sum_ant_rssi', 'sta_to_ap_2_sum_ant_rssi', 'sta_to_ap_3_sum_ant_rssi',
    'pd', 'ed', 'nav',
    # 这里可以增加节点间RSSI的其他相关字段...
]

X_2ap = train_data_2ap
y_2ap = train_data_2ap['throughput']

X_3ap = train_data_3ap
y_3ap = train_data_3ap['throughput']

# 划分数据集见完整

https://i-blog.csdnimg.cn/direct/8d94b6793084478f9289fb5a0bec9b2a.jpeg#pic_center
问题四

4.4 模子精度评估方法
这个部分提到“累积分布函数(Cumulative Distributed Function, CDF)描述了一个随机变量X小于或等于某一特定值x的概率,界说为F_X (x)=P(X≤x)。绘制测试集中吞吐量预测误差error的CDF曲线,取error小于或等于某一特定值ERROR的概率为90%时对应的特定值ERROR,则模子精度为1与ERROR的差值。请分别提供预测每AP吞吐的精度,和预测系统吞吐(所有AP吞吐之和)的精度。”
渴望这可以帮助到你!如果你有其他问题,请随时询问。
在面对问题3的网络吞吐量建模时,我们必要综合考虑影响网络吞吐量的多个因素,包括AP的发送机会、节点间的RSSI、信道接入机制以及自适应调制编码(AMC)所选用的(MCS, NSS)等。在此基础上,针对吞吐量                                 T                              T                  T的模子可以用以下数学表达式表现:

[*] 模子假设:

[*]假设每个AP发送数据的机会受到RSSI、门限、信道接入机制等因素的影响,从而影响帧序列的总时长                                                s                                  e                                             q                                                   t                                        i                                        m                                        e                                                                   seq_{time}                           seqtime​。
[*]假设在特定的SINR条件下,AP所选择的(MCS, NSS)和对应的PHY Rate与该条件相关。

[*] 吞吐量的计算:
吞吐量                                                         T                                  i                                                 T_i                        Ti​可以表现为:
                                                                T                                     i                                              =                                             有效发送比特数                                     总时长                                              =                                                                            N                                                         p                                              p                                              d                                              u                                                                     ×                                        (                                        pkt_len                                        −                                        overhead                                        )                                                                s                                        e                                                       q                                                         t                                              i                                              m                                              e                                                                                                T_i = \frac{\text{有效发送比特数}}{\text{总时长}} = \frac{N_{ppdu} \times (\text{pkt\_len} - \text{overhead})}{seq_{time}}                           Ti​=总时长有效发送比特数​=seqtime​Nppdu​×(pkt_len−overhead)​
其中:

[*]                                                               N                                                   p                                        p                                        d                                        u                                                                   N_{ppdu}                           Nppdu​为每个PPDU传输的聚合比特数(包括数据包个数、MAC头等开销),
[*]                                                pkt_len                                          \text{pkt\_len}                           pkt_len为数据包长度(比方1500 bytes),
[*]                                                overhead                                          \text{overhead}                           overhead为聚合引入的开销。

[*] 模子的构建:
通过线性回归或其他呆板学习算法,构建一个模子来预测每个AP的吞吐量,模子的输入特性可以包罗:

[*]                                                s                                  e                                             q                                                   t                                        i                                        m                                        e                                                                   seq_{time}                           seqtime​: AP发送数据序列的总时长
[*]                                                m                                  i                                  n                                  _                                  R                                  S                                  S                                  I                                          min\_RSSI                           min_RSSI: 通道接入机制中最小RSSI
[*]CCA门限、ED门限等
[*]业务流量类型(UDP或TCP)等

[*] 综合模子:
最终的吞吐量模子应该联合所有AP的输出,得出整体系统吞吐量                                                         T                                             t                                     o                                     t                                     a                                     l                                                             T_{total}                        Ttotal​:
                                                                T                                                   t                                        o                                        t                                        a                                        l                                                         =                                             ∑                                                   i                                        =                                        1                                                N                                                         T                                     i                                                      T_{total} = \sum_{i=1}^N T_i                           Ttotal​=i=1∑N​Ti​
[*] 模子验证与评估:
在完成模子构建后,通过测试集数据举行验证,利用之前提到的估计误差CDF来评估模子的精度。

[*]具体地,计算预测吞吐量与实际吞吐量之间的误差                                                e                                  r                                  r                                  o                                  r                                          error                           error:
                                                      e                                     r                                     r                                     o                                     r                                     =                                                                                  T                                                               p                                                 r                                                 e                                                 d                                                                        −                                                         T                                                               t                                                 r                                                 u                                                 e                                                                                                    T                                                         t                                              r                                              u                                              e                                                                               ×                                     100                                     %                                              error = \frac{T_{pred} - T_{true}}{T_{true}} \times 100\%                              error=Ttrue​Tpred​−Ttrue​​×100%
然后绘制CDF曲线,找出90%置信度下的误差值                                                E                                  R                                  R                                  O                                  R                                          ERROR                           ERROR。

[*] 精度评估:

[*]模子精度计算为                                                1                                  −                                  E                                  R                                  R                                  O                                  R                                          1 - ERROR                           1−ERROR。分别提供每AP的预测精度和整体系统的预测精度。

通过上述构建步调,我们可以实现对WLAN系统吞吐量的全面建模和准确预测。
在模子精度评估中,采用累积分布函数(CDF)来分析预测误差是一个有效的方法。具体来说,若我们界说预测误差为                                    e                         r                         r                         o                         r                         =                                              (                               p                               r                               e                               d                               i                               c                               t                                                               t                               h                               r                               o                               u                               g                               h                               p                               u                               t                               −                               t                               h                               r                               o                               u                               g                               h                               p                               u                               t                               )                                                 t                               h                               r                               o                               u                               g                               h                               p                               u                               t                                          ×                         100                              error = \frac{(predict\ throughput - throughput)}{throughput} \times 100                  error=throughput(predict throughput−throughput)​×100,那么我们可以通过计算                                    e                         r                         r                         o                         r                              error                  error 的CDF来评估模子的预测能力。
评估步调:


[*] 网络误差数据:计算每个接入点(AP)的预测误差,即                                              e                               r                               r                               o                               r                                    error                        error。对于多个AP,网络它们的误差值。
[*] 绘制CDF曲线:基于网络到的误差数据,绘制CDF曲线。CDF曲线的横坐标表现预测误差的值,纵坐标表现小于或等于该误差的概率。
[*] 计算特定值ERROR:

[*]找到                                                   P                                  (                                  e                                  r                                  r                                  o                                  r                                  ≤                                  E                                  R                                  R                                  O                                  R                                  )                                  =                                  0.9                                          P(error \leq ERROR) = 0.9                           P(error≤ERROR)=0.9,即当误差小于或等于某一特定值                                                   E                                  R                                  R                                  O                                  R                                          ERROR                           ERROR 的概率为90%时,确定该特定值。
[*]用这个特定值                                                   E                                  R                                  R                                  O                                  R                                          ERROR                           ERROR 来反映模子在90%的环境下的正确性。

[*] 精度计算:末了,精度                                              P                               r                               e                               c                               i                               s                               i                               o                               n                                    Precision                        Precision 被界说为:
                                                   P                                  r                                  e                                  c                                  i                                  s                                  i                                  o                                  n                                  =                                  1                                  −                                  E                                  R                                  R                                  O                                  R                                          Precision = 1 - ERROR                           Precision=1−ERROR
这个值反映了模子的表现,数值越高,表现模子越精准。
观察与分析:

通过上述步调,我们可以得到每个AP的吞吐量预测精度,并进一步对所有AP的总吞吐量举行同样的评估。如许可以发现模子在差别场景下的表现差别,以及哪些因素在实际应用中对模子的性能影响较大。
独特见解:

在WLAN环境中,由于信道的动态变化和用户流量的不确定性,基于实时数据的模子效果可能会有所差别。通过上述评估方法,我们不但可以量化模子的预测精度,还可以对模子举行针对性的优化,比方,通过分析高误差区间来调整特性选择或模子参数,以适应差别的网络状态和用户需求,从而提升整个系统的性能和用户体验。
在举行模子精度评估时,我们将利用累积分布函数(CDF)来分析预测误差。具体步调如下:

[*] 界说预测误差:
预测误差是指模子预测的吞吐量与实际测量的吞吐量之间的差别,界说为:
                                                   error                                  =                                                             predict throughput                                        −                                        throughput                                                throughput                                              ×                                  100                                  %                                          \text{error} = \frac{\text{predict throughput} - \text{throughput}}{\text{throughput}} \times 100\%                           error=throughputpredict throughput−throughput​×100%
[*] 绘制CDF曲线:
累积分布函数用于描述每个样本的预测误差小于或等于某一特定值的概率,即:
                                                                F                                     X                                              (                                  x                                  )                                  =                                  P                                  (                                  X                                  ≤                                  x                                  )                                          F_X(x) = P(X \leq x)                           FX​(x)=P(X≤x)
其中,                                             X                                    X                        X表现所有测试集中每个AP的预测误差。
[*] 计算特定值                                                E                                  R                                  R                                  O                                  R                                          ERROR                           ERROR:
通过绘制CDF曲线,可以找到                                             E                               R                               R                               O                               R                                    ERROR                        ERROR的值,使得预测误差小于等于这个值的概率为90%:
                                                   P                                  (                                  error                                  ≤                                  E                                  R                                  R                                  O                                  R                                  )                                  =                                  0.90                                          P(\text{error} \leq ERROR) = 0.90                           P(error≤ERROR)=0.90
[*] 模子精度评估:
模子的精度可以通过计算1与这个特定值                                             E                               R                               R                               O                               R                                    ERROR                        ERROR的差值来举行评估,界说为:
                                                   Model Precision                                  =                                  1                                  −                                  E                                  R                                  R                                  O                                  R                                          \text{Model Precision} = 1 - ERROR                           Model Precision=1−ERROR
其中                                             E                               R                               R                               O                               R                                    ERROR                        ERROR以百分比表现。
[*] 分别提供预测每AP吞吐和系统吞吐的精度:

[*]对于每个AP的吞吐量预测精度,可以独立计算每个AP的                                                E                                  R                                  R                                  O                                  R                                          ERROR                           ERROR并对应评估模子精度。
[*]对于系统吞吐的模子精度,必要将所有AP的吞吐量预测效果相加后,计算总的预测误差,并举行同样的CDF处理。

通过这些步调,我们可以得到更为细致的模子精度评估效果。
针对第四个问题,关于模子精度评估方法的描述已经清晰阐明。下面是如何评估模子精度的完整步调:

[*] 计算吞吐量预测误差 (error):对于每个AP的吞吐量,你可以利用公式:
                                                   error                                  =                                                             predict throughput                                        −                                        throughput                                                throughput                                              ×                                  100                                          \text{error} = \frac{\text{predict throughput} - \text{throughput}}{\text{throughput}} \times 100                           error=throughputpredict throughput−throughput​×100
这将给出预测吞吐量与实测吞吐量之间的百分比误差。
[*] 绘制CDF曲线:根据所有AP的吞吐量预测误差,绘制其累积分布函数(CDF)。对于每个特定的误差值ERROR,计算有多少比例的误差小于或等于该值。
[*] 计算精度:从CDF中提取出90%的概率所对应的特定值ERROR,此时的错误率即为模子精度。模子精度界说为:
                                                   模子精度                                  =                                  1                                  −                                  ERROR                                          \text{模子精度} = 1 - \text{ERROR}                           模子精度=1−ERROR
[*] 分别计算每个AP和整体AP的系统吞吐模子的精度。
而针对第4个问题的python代码,您可以利用以下代码来举行吞吐量预测模子的实现:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_percentage_error
import matplotlib.pyplot as plt

# 读取数据集
train_data = pd.read_csv('training_set.csv')# 请替换为正确的文件名称
test_data = pd.read_csv('test_set.csv')# 请替换为正确的文件名称

# 数据预处理
features = ['feature1', 'feature2', 'feature3']# 替换为实际特征名
X_train = train_data
y_train = train_data['throughput']

X_test = test_data
y_test = test_data['throughput']

# 训练模型
model = RandomForestRegressor()
model.fit(X_train, y_train)

# 进行预测
y_pred = model.predict(X_test)

# 计算误差
error = (y_pred - y_test) / y_test * 100

# 绘制CDF
plt.figure()
plt.hist(error, bins=50, density=True, cumulative=True, color='blue', alpha=0.5)
plt.title('CDF of Throughput Prediction Error')
plt.xlabel('Error (%)')
plt.ylabel('Cumulative Density')
plt.grid()
plt.show()

# 计算90%精度
ERROR_90 = np.percentile(error, 90)
model_accuracy = 1 - (ERROR_90 / 100)
print(f'Model Accuracy: {model_accuracy}')
更多内容具体可以看看我的下方的手刺!里面包罗有研赛一手资料与分析!
另外在赛中,我们也会陪各人一起解析研赛的一些方向
关注 CS数模 团队,数模不迷路~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 2024 “华为杯” 中国研究生数学建模竞赛(B题)深度剖析|WLAN组网中网络吞