国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)學建模Matlab之數(shù)據(jù)預處理方法

這篇具有很好參考價值的文章主要介紹了數(shù)學建模Matlab之數(shù)據(jù)預處理方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文綜合代碼來自文章


異常值與缺失值處理

%% 數(shù)據(jù)修復
% 判斷缺失值和異常值并修復,順便光滑噪音,渡邊筆記
clc,clear;close all;
x = 0:0.06:10;
y = sin(x)+0.2*rand(size(x));
y(22:34) = NaN; % 模擬缺失值
y(89:95) = 50;% 模擬異常值
testdata = [x' y'];

subplot(2,2,1);
plot(testdata(:,1),testdata(:,2)); %subplot在一個圖窗中創(chuàng)建多個子圖,然后使用plot函數(shù)將原始數(shù)據(jù)可視化
title('原始數(shù)據(jù)');

異常值檢驗

作者通常首先判斷是否具有異常值,因為如果有異常值的話,咱們就會剔除異常值,使其變成缺失值,然后再做缺失值處理會好很多。

%% 判斷數(shù)據(jù)中是否存在異常值
% 1.mean 三倍標準差法 2.median 離群值法 3.quartiles 非正態(tài)的離群值法
% 4.grubbs 正態(tài)的離群值法 5.gesd 多離群值相互掩蓋的離群值法
choice_1 = 5;
yichangzhi_fa = char('mean', 'median', 'quartiles', 'grubbs','gesd');
yi_chang = isoutlier(y,strtrim(yichangzhi_fa(choice_1,:))); %選擇的是gesd多離群值……
if sum(yi_chang)
    disp('數(shù)據(jù)存在異常值');
else
    disp('數(shù)據(jù)不存在異常值');
end

對于上面的異常值檢驗法做講解與擴展:

1. Mean 三倍標準差法(3σ原則)

  • 描述:在正態(tài)分布數(shù)據(jù)中,任何一個數(shù)值如果偏離平均值超過3倍的標準差,就被認為是異常值。
  • 應用條件數(shù)據(jù)基本呈正態(tài)分布。(非常重要,需要進行正態(tài)性檢驗)
  • 場景:適用于各種連續(xù)數(shù)據(jù)的分析,例如金融、生物統(tǒng)計等領(lǐng)域。

2. Median 離群值法

  • 描述:基于中位數(shù)和四分位數(shù)范圍來識別異常值。
  • 應用條件不需要數(shù)據(jù)完全符合正態(tài)分布。
  • 場景:適用于偏態(tài)分布或者非正態(tài)分布的數(shù)據(jù)。

3. Quartiles 非正態(tài)的離群值法

  • 描述:通過計算數(shù)據(jù)的四分位數(shù)范圍(IQR)和上下四分位數(shù)來檢測異常值。
  • 應用條件:適用于非正態(tài)分布的數(shù)據(jù)。
  • 場景:在各種非正態(tài)分布的數(shù)據(jù)分析中都可以使用。

4. Grubbs 正態(tài)的離群值法

  • 描述:基于正態(tài)分布假設,測試數(shù)據(jù)集中最大或最小值是否顯著偏離其余的觀測值。
  • 應用條件:數(shù)據(jù)應該是正態(tài)分布。
  • 場景:廣泛應用于各種領(lǐng)域,尤其是實驗數(shù)據(jù)分析

5. GESD(Generalized Extreme Studentized Deviate)

  • 描述:用于檢測多個異常值,即使它們相互掩蓋。
  • 應用條件:不特定于某一分布。
  • 場景:當異常值可能相互掩蓋時使用,例如在時間序列分析中。

其他方法

  • Tukey’s Fences

    • 通過四分位數(shù)范圍(IQR)和“fences”(上下界)識別異常值。
    • 適用于各種分布的數(shù)據(jù)。
  • DBSCAN(Density-Based Spatial Clustering of Applications with Noise):

    • 一種基于密度的聚類算法,能夠識別簇內(nèi)和簇外點。
    • 用于大數(shù)據(jù)集和空間數(shù)據(jù)。
  • Isolation Forests

    • 用于高維數(shù)據(jù)集的異常檢測。
    • 通過隨機分離點來檢測異常值。

正態(tài)性檢驗

讀者不難發(fā)現(xiàn),異常值檢驗通常與數(shù)據(jù)是否符合正態(tài)分布有關(guān),所以,我們一起討論一下如何使用matlab進行正態(tài)性檢驗。

初步判斷

利用圖像進行初步的正態(tài)性判斷,涉及到常見的兩種圖:Q-Q圖和P-P圖。

  1. PP圖

    • PP圖是用于比較兩個數(shù)據(jù)集的累積分布函數(shù)(CDF)。
    • 當你有一個樣本數(shù)據(jù)集和一個理論分布(如正態(tài)分布)時,PP圖會比較樣本數(shù)據(jù)的CDF和理論CDF。
    • 在正態(tài)PP圖中,如果樣本數(shù)據(jù)來自正態(tài)分布,那么數(shù)據(jù)點應該大致沿著45度線。
  2. QQ圖

    • QQ圖是用于比較兩個數(shù)據(jù)集的分位數(shù)。QQ圖更常用于正態(tài)性檢驗,因為它對尾部的差異更敏感。
    • 當你有一個樣本數(shù)據(jù)集和一個理論分布時,QQ圖會比較樣本數(shù)據(jù)的分位數(shù)和理論分布的分位數(shù)。
    • 在正態(tài)QQ圖中,如果樣本數(shù)據(jù)來自正態(tài)分布,那么數(shù)據(jù)點應該大致沿著一條直線,這條線不一定是45度線,但是應該是線性的。

其實上面最重要的一點就是,數(shù)據(jù)點在兩個圖中都沿著標準正態(tài)分布直線近似分布的話,我們就可以初步判斷數(shù)據(jù)具有正態(tài)分布性。

% 正態(tài)檢驗
% 生成一些隨機數(shù)據(jù)
data = randn(100, 1);

% 創(chuàng)建一個新的圖形窗口
figure;

% 使用 normplot 創(chuàng)建正態(tài)概率圖 (QQ圖)
subplot(1,2,1);
normplot(data);
title('Normal Q-Q Plot');

% 使用 probplot 創(chuàng)建PP圖
subplot(1,2,2);
probplot('normal', data);
title('Normal P-P Plot');

可以在論文中這樣寫:

為了對數(shù)據(jù)集的分布特性進行深入理解和分析,本文采用了QQ圖和PP圖兩種方法進行了初步的正態(tài)性檢驗,旨在從不同角度全面評估數(shù)據(jù)的分布狀態(tài)。其結(jié)果如圖1所示。

數(shù)學建模Matlab之數(shù)據(jù)預處理方法,數(shù)學建模,數(shù)學建模,matlab,信息可視化?
圖1 xx數(shù)據(jù)PP圖(左)和QQ圖(右)

圖1結(jié)果顯示:在QQ圖中,xx數(shù)據(jù)的尾部行為和中心趨勢沒有發(fā)現(xiàn)顯著的異常值或者偏態(tài)現(xiàn)象,表現(xiàn)出良好的正態(tài)分布特征;在PP圖中,xx數(shù)據(jù)的整體分布與正態(tài)分布非常接近,進一步證實了數(shù)據(jù)的正態(tài)性。綜合以上分析結(jié)果可初步得知:xx數(shù)據(jù)集呈現(xiàn)出較強的正態(tài)分布特性。

盡管PP圖和QQ圖都是強大的工具,但它們主要用于探索性數(shù)據(jù)分析,并不能代替更正式的正態(tài)性檢驗方法,如Jarque-Bera測試或Lilliefors測試。

正式判斷

% 正態(tài)檢驗
% 生成一些隨機數(shù)據(jù)
data = randn(100, 1);

% 使用 jbtest 進行 Jarque-Bera 測試
[h_jb, p_jb] = jbtest(data);

% 使用 lillietest 進行 Lilliefors 測試
[h_lil, p_lil] = lillietest(data);

% 顯示測試結(jié)果
fprintf('Jarque-Bera Test: h = %d, p = %f\n', h_jb, p_jb);
fprintf('Lilliefors Test: h = %d, p = %f\n', h_lil, p_lil);

在上述代碼中,hp 分別代表假設檢驗的結(jié)果和 p 值,可以用來判斷數(shù)據(jù)是否符合正態(tài)分布。

數(shù)學建模Matlab之數(shù)據(jù)預處理方法,數(shù)學建模,數(shù)學建模,matlab,信息可視化

?

  • h = 0 表示在給定的顯著性水平下,不拒絕數(shù)據(jù)來自正態(tài)分布的原假設。即,數(shù)據(jù)可以被認為是正態(tài)分布的。
  • p 值是一個概率值,它表示觀察到的數(shù)據(jù)與正態(tài)分布之間的差異是偶然產(chǎn)生的概率。一般來說,如果 p 值大于預定的顯著性水平(例如,0.05),則接受原假設,認為數(shù)據(jù)是正態(tài)分布的。

故對上圖結(jié)果進行數(shù)據(jù)分析(論文中寫的多一點啊,這是簡要版):

  1. Jarque-Bera 測試結(jié)果:

    • h = 0, p = 0.361618
    • 因為h為0,并且p值為0.361618(大于通常的顯著性水平0.05),所以我們接受原假設,認為數(shù)據(jù)是正態(tài)分布的。
  2. Lilliefors 測試結(jié)果:

    • h = 0, p = 0.500000
    • 同樣,h為0,并且p值為0.5,這也指示數(shù)據(jù)是正態(tài)分布的。

異常值處理與缺失值判斷

作者所有異常值處理都是先賦空值,不知道還有沒有其他的方法……

%% 對異常值賦空值
F = find(yi_chang == 1);
y(F) = NaN; % 令數(shù)據(jù)點缺失
testdata = [x' y'];

然后就可以和缺失值一起處理了,但是,為了保證文章的嚴謹性,咱還是需要判斷一下是否存在缺失值。并且,不僅僅只判斷,如果題目數(shù)據(jù)特征尤其多,并且有的特征缺失樣本太多了,咱建議還是把這些特征刪了,這就涉及到最省力法則

數(shù)學建模Matlab之數(shù)據(jù)預處理方法,數(shù)學建模,數(shù)學建模,matlab,信息可視化

% 假設testdata是一個n行m列的矩陣,每一列代表一個特征
[n, m] = size(testdata);
threshold = 0.8 * n;  % 設置閾值,80%的總樣本量

% 遍歷每一個特征
for i = 1:m
    % 計算每一列(特征)中非缺失值的數(shù)量
    nonMissingCount = sum(~isnan(testdata(:, i)));
    % 如果非缺失值的數(shù)量少于閾值,則刪除該列(特征)
    if nonMissingCount < threshold
        testdata(:, i) = [];  % 刪除特征
        m = m - 1;  % 更新特征數(shù)量
        i = i - 1;  % 更新當前索引
    end
end

% 顯示處理后的數(shù)據(jù)
disp('處理后的數(shù)據(jù):');
disp(testdata);

填充缺失值

%% 對數(shù)據(jù)進行補全
% 數(shù)據(jù)補全方法選擇
% 1.線性插值 linear 2.分段三次樣條插值 spline 3.保形分段三次樣條插值 pchip
% 4.移動滑窗插補 movmean
chazhi_fa = char('linear', 'spline', 'pchip', 'movmean');
choice_2 = 3;
if choice_2 ~= 4
    testdata_1 = fillmissing(testdata,strtrim(chazhi_fa(choice_2,:))); % strtrim 是為了去除字符串組的空格
else
    testdata_1 = fillmissing(testdata,'movmean',10); % 窗口長度為 10 的移動均值
end

subplot(2,2,3);
plot(testdata_1(:,1),testdata_1(:,2));
title('數(shù)據(jù)補全結(jié)果');

作者通常喜歡(讓隊友)使用K最近鄰法填補,而且都是用python搞的,so這里不講。


平滑處理

當然,可以根據(jù)實際情況進行數(shù)據(jù)的平滑處理:

%% 進行數(shù)據(jù)平滑處理
% 濾波器選擇 1.Savitzky-golay 2.rlowess 3.rloess
choice_3 = 2;
lvboqi = char('Savitzky-golay', 'rlowess', 'pchip', 'rloess');
% 通過求 n 元素移動窗口的中位數(shù),來對數(shù)據(jù)進行平滑處理
windows = 8;
testdata_2 = smoothdata(testdata_1(:,2),strtrim(lvboqi(choice_3,:)),windows) ;

那么,實際情況到底是什么?

平滑數(shù)據(jù)對于某些機器學習模型的訓練和性能是有益的,尤其是對于那些對數(shù)據(jù)中的噪聲敏感的模型。下面是一些可能受益于數(shù)據(jù)平滑的算法:

數(shù)學建模Matlab之數(shù)據(jù)預處理方法,數(shù)學建模,數(shù)學建模,matlab,信息可視化?

數(shù)學建模Matlab之數(shù)據(jù)預處理方法,數(shù)學建模,數(shù)學建模,matlab,信息可視化?

決定是否進行數(shù)據(jù)平滑應該基于對上述因素的綜合考慮,而不僅僅是基于特征的數(shù)量。在決定平滑之前,最好通過交叉驗證來評估平滑對模型性能的實際影響。屬于錦上添花的作用。


總結(jié)

最終的代碼綜合一下:

% 判斷缺失值和異常值并修復,順便光滑噪音,渡邊筆記
clc,clear;close all;
x = 0:0.06:10;
y = sin(x)+0.2*rand(size(x));
y(22:34) = NaN; % 模擬缺失值
y(89:95) = 50;% 模擬異常值
testdata = [x' y'];

subplot(2,2,1);
plot(testdata(:,1),testdata(:,2)); %subplot在一個圖窗中創(chuàng)建多個子圖,然后使用plot函數(shù)將原始數(shù)據(jù)可視化
title('原始數(shù)據(jù)');


%% 判斷數(shù)據(jù)中是否存在缺失值,并使用最省力法則
% 假設testdata是一個n行m列的矩陣,每一列代表一個特征
[n, m] = size(testdata);
threshold = 0.8 * n;  % 設置閾值,80%的總樣本量

% 遍歷每一個特征
for i = 1:m
    % 計算每一列(特征)中非缺失值的數(shù)量
    nonMissingCount = sum(~isnan(testdata(:, i)));
    % 如果非缺失值的數(shù)量少于閾值,則刪除該列(特征)
    if nonMissingCount < threshold
        testdata(:, i) = [];  % 刪除特征
        m = m - 1;  % 更新特征數(shù)量
        i = i - 1;  % 更新當前索引
    end
end

% 顯示處理后的數(shù)據(jù)
disp('處理后的數(shù)據(jù):');
disp(testdata);


%% 判斷數(shù)據(jù)中是否存在異常值
% 1.mean 三倍標準差法 2.median 離群值法 3.quartiles 非正態(tài)的離群值法
% 4.grubbs 正態(tài)的離群值法 5.gesd 多離群值相互掩蓋的離群值法
choice_1 = 5;
yichangzhi_fa = char('mean', 'median', 'quartiles', 'grubbs','gesd');
yi_chang = isoutlier(y,strtrim(yichangzhi_fa(choice_1,:))); %選擇的是gesd多離群值……
if sum(yi_chang)
    disp('數(shù)據(jù)存在異常值');
else
    disp('數(shù)據(jù)不存在異常值');
end

%% 對異常值賦空值
F = find(yi_chang == 1);
y(F) = NaN; % 令數(shù)據(jù)點缺失
testdata = [x' y'];

subplot(2,2,2);
plot(testdata(:,1),testdata(:,2));
title('去除差異值');

%% 對數(shù)據(jù)進行補全
% 數(shù)據(jù)補全方法選擇
% 1.線性插值 linear 2.分段三次樣條插值 spline 3.保形分段三次樣條插值 pchip
% 4.移動滑窗插補 movmean
chazhi_fa = char('linear', 'spline', 'pchip', 'movmean');
choice_2 = 3;
if choice_2 ~= 4
    testdata_1 = fillmissing(testdata,strtrim(chazhi_fa(choice_2,:))); % strtrim 是為了去除字符串組的空格
else
    testdata_1 = fillmissing(testdata,'movmean',10); % 窗口長度為 10 的移動均值
end

subplot(2,2,3);
plot(testdata_1(:,1),testdata_1(:,2));
title('數(shù)據(jù)補全結(jié)果');

%% 進行數(shù)據(jù)平滑處理
% 濾波器選擇 1.Savitzky-golay 2.rlowess 3.rloess
choice_3 = 2;
lvboqi = char('Savitzky-golay', 'rlowess', 'pchip', 'rloess');
% 通過求 n 元素移動窗口的中位數(shù),來對數(shù)據(jù)進行平滑處理
windows = 8;
testdata_2 = smoothdata(testdata_1(:,2),strtrim(lvboqi(choice_3,:)),windows) ;

subplot(2,2,4);
plot(x,testdata_2)
title('數(shù)據(jù)平滑結(jié)果');

數(shù)學建模Matlab之數(shù)據(jù)預處理方法,數(shù)學建模,數(shù)學建模,matlab,信息可視化?

至此,數(shù)據(jù)預處理完成。文章來源地址http://www.zghlxwxcb.cn/news/detail-721459.html

到了這里,關(guān)于數(shù)學建模Matlab之數(shù)據(jù)預處理方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 數(shù)學建模:數(shù)據(jù)的預處理

    數(shù)學建模:數(shù)據(jù)的預處理

    ?? 文章首發(fā)于我的個人博客:歡迎大佬們來逛逛 常見的數(shù)據(jù)變換的方式:通過某些簡單的函數(shù)進行數(shù)據(jù)變換。 x ′ = x 2 x ′ = x x ′ = log ? ( x ) ? f ( x k ) = f ( x k + 1 ) ? f ( x k ) begin{aligned}x^{prime}=x^2 \\\\begin{aligned}x^{prime}=sqrt{x}end{aligned} \\\\x\\\'=log(x) \\\\nabla fleft(x_{k})right.=f

    2024年02月11日
    瀏覽(16)
  • 數(shù)據(jù)預處理方法整理(數(shù)學建模)

    數(shù)據(jù)預處理方法整理(數(shù)學建模)

    這篇文章主要是整理了一些作者在各種建模比賽中遇到的數(shù)據(jù)預處理問題以及方法,主要針對excel或csv格式的數(shù)據(jù),為后續(xù)進行機器學習或深度學習做前期準備 導入庫和文件,這里使用的是絕對路徑,可改為相對路徑 傳入的為csv格式的文件,如果是xlsx格式的文件,建議先使

    2024年02月14日
    瀏覽(19)
  • 2023高教社數(shù)學建模國賽C題 - 蔬菜類商品的自動定價與補貨決策(數(shù)據(jù)預處理部分)附詳細代碼

    2023高教社數(shù)學建模國賽C題 - 蔬菜類商品的自動定價與補貨決策(數(shù)據(jù)預處理部分)附詳細代碼

    C題用到了vlookup函數(shù)將所有數(shù)據(jù)同類項進行合并,公式如下: 單品類:=VLOOKUP(C2,[附件1.xlsx]Sheet1!A$2:D$252,2,FALSE) 大類:?=VLOOKUP(C2,[附件1.xlsx]Sheet1!A$2:D$252,4,FALSE) 批發(fā)價格:?=VLOOKUP(C2,[附件3.xlsx]Sheet1!B$2:C$55983,2,FALSE) 單品損耗率:?=VLOOKUP(H2,[附件4.xlsx]Sheet1!B$2:CS252,2,FALSE) 價格=單位成本

    2024年02月08日
    瀏覽(26)
  • 數(shù)據(jù)預處理matlab matlab數(shù)據(jù)的獲取、預處理、統(tǒng)計、可視化、降維

    1.1 從Excel中獲取 使用readtable() 例1: 使用 spreadsheetImportOptions(Name,Value) 初步確定導入信息, 再用 opts.Name=Value 的格式添加。 例2: 先初始化 spreadsheetImportOptions 對象, 再用 opts.Name=Value 的格式逐個添加。 例3: 將導入信息存到變量里, 再使用 spreadsheetImportOptions(Name,Value)

    2024年02月15日
    瀏覽(55)
  • 數(shù)據(jù)預處理matlab

    1.1 從Excel中獲取 使用readtable() 例1: 使用 spreadsheetImportOptions(Name,Value) 初步確定導入信息, 再用 opts.Name=Value 的格式添加。 例2: 先初始化 spreadsheetImportOptions 對象, 再用 opts.Name=Value 的格式逐個添加。 例3: 將導入信息存到變量里, 再使用 spreadsheetImportOptions(Name,Value)

    2024年02月07日
    瀏覽(26)
  • 數(shù)據(jù)預處理 matlab & 數(shù)據(jù)質(zhì)量評估

    知乎 數(shù)據(jù)類型轉(zhuǎn)換等 Mathworks 數(shù)據(jù)預處理 概念辨析 配對是 同一批樣本的前后 比較,獨立是 兩批不同樣本 的的比較 獨立樣本是指我們得到的樣本是相互獨立的。配對樣本就是一個樣本中的數(shù)據(jù)與另一個樣本中的數(shù)據(jù)相對應的兩個樣本。配對樣本可以消除由于樣本指定的不公

    2024年01月20日
    瀏覽(28)
  • 基于MATLAB的無人機遙感數(shù)據(jù)預處理與農(nóng)林植被性狀估算

    基于MATLAB的無人機遙感數(shù)據(jù)預處理與農(nóng)林植被性狀估算

    在新一輪互聯(lián)網(wǎng)信息技術(shù)大發(fā)展的現(xiàn)今,無人機、大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)等新興技術(shù)在各行各業(yè)都處于大爆發(fā)的前夜。為了將人工智能方法引入農(nóng)業(yè)生產(chǎn)領(lǐng)域。首先在種植、養(yǎng)護等生產(chǎn)作業(yè)環(huán)節(jié),逐步擺脫人力依賴;在施肥灌溉環(huán)節(jié)構(gòu)建智慧節(jié)能系統(tǒng);在產(chǎn)量預測和商品

    2024年02月11日
    瀏覽(22)
  • MATLAB的無人機遙感數(shù)據(jù)預處理與農(nóng)林植被性狀估算實踐

    MATLAB的無人機遙感數(shù)據(jù)預處理與農(nóng)林植被性狀估算實踐

    ? 在新一輪互聯(lián)網(wǎng)信息技術(shù)大發(fā)展的現(xiàn)今,無人機、大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)等新興技術(shù)在各行各業(yè)都處于大爆發(fā)的前夜。為了將人工智能方法引入農(nóng)業(yè)生產(chǎn)領(lǐng)域。首先在種植、養(yǎng)護等生產(chǎn)作業(yè)環(huán)節(jié),逐步擺脫人力依賴;在施肥灌溉環(huán)節(jié)構(gòu)建智慧節(jié)能系統(tǒng);在產(chǎn)量預測和商

    2024年02月03日
    瀏覽(31)
  • 基于MATLAB的無人機遙感數(shù)據(jù)預處理與農(nóng)林植被性狀估算教程

    基于MATLAB的無人機遙感數(shù)據(jù)預處理與農(nóng)林植被性狀估算教程

    詳情點擊鏈接:基于MATLAB的無人機遙感數(shù)據(jù)預處理與農(nóng)林植被性狀估算 前言 遙感技術(shù)作為一種空間大數(shù)據(jù)手段,能夠從多時、多維、多地等角度,獲取大量的農(nóng)情數(shù)據(jù)。數(shù)據(jù)具有面狀、實時、非接觸、無傷檢測等顯著優(yōu)勢,是智慧農(nóng)業(yè)必須采用的重要技術(shù)之一。 ? 第一:

    2024年02月16日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包