Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸之線性回歸示例詳解
1、背景知識(shí)
1.1 插值、擬合、回歸和預(yù)測(cè)
插值、擬合、回歸和預(yù)測(cè),都是數(shù)學(xué)建模中經(jīng)常提到的概念,而且經(jīng)常會(huì)被混為一談。
- 插值,是在離散數(shù)據(jù)的基礎(chǔ)上補(bǔ)插連續(xù)函數(shù),使得這條連續(xù)曲線通過(guò)全部給定的離散數(shù)據(jù)點(diǎn)。 插值是離散函數(shù)逼近的重要方法,利用它可通過(guò)函數(shù)在有限個(gè)點(diǎn)處的取值狀況,估算出函數(shù)在其他點(diǎn)處的近似值。
- 擬合,是用一個(gè)連續(xù)函數(shù)(曲線)靠近給定的離散數(shù)據(jù),使其與給定的數(shù)據(jù)相吻合。
因此,插值和擬合都是根據(jù)已知數(shù)據(jù)點(diǎn)求變化規(guī)律和特征相似的近似曲線的過(guò)程,但是插值要求近似曲線完全經(jīng)過(guò)給定的數(shù)據(jù)點(diǎn),而擬合只要求近似曲線在整體上盡可能接近數(shù)據(jù)點(diǎn),并反映數(shù)據(jù)的變化規(guī)律和發(fā)展趨勢(shì)。插值可以看作是一種特殊的擬合,是要求誤差函數(shù)為 0的擬合。由于數(shù)據(jù)點(diǎn)通常都帶有誤差,誤差為 0 往往意味著過(guò)擬合,過(guò)擬合模型對(duì)于訓(xùn)練集以外的數(shù)據(jù)的泛化能力是較差的。因此在實(shí)踐中,插值多用于圖像處理,擬合多用于實(shí)驗(yàn)數(shù)據(jù)處理。
- 回歸,是研究一組隨機(jī)變量與另一組隨機(jī)變量之間關(guān)系的統(tǒng)計(jì)分析方法,包括建立數(shù)學(xué)模型并估計(jì)模型參數(shù),并檢驗(yàn)數(shù)學(xué)模型的可信度,也包括利用建立的模型和估計(jì)的模型參數(shù)進(jìn)行預(yù)測(cè)或控制。
- 預(yù)測(cè)是非常廣泛的概念,在數(shù)模中是指對(duì)獲得的數(shù)據(jù)、信息進(jìn)行定量研究,據(jù)此建立與預(yù)測(cè)目的相適應(yīng)的數(shù)學(xué)模型,然后對(duì)未來(lái)的發(fā)展變化進(jìn)行定量地預(yù)測(cè)。通常認(rèn)為,插值和擬合都是預(yù)測(cè)類的方法。
回歸是一種數(shù)據(jù)分析方法,擬合是一種具體的數(shù)據(jù)處理方法。擬合側(cè)重于曲線參數(shù)尋優(yōu),使曲線與數(shù)據(jù)相符;而回歸側(cè)重于研究?jī)蓚€(gè)或多個(gè)變量之間的關(guān)系。
1.2 線性回歸
回歸分析(Regression analysis)是一種統(tǒng)計(jì)分析方法,研究是自變量和因變量之間的定量關(guān)系,經(jīng)常用于預(yù)測(cè)分析、時(shí)間序列模型以及發(fā)現(xiàn)變量之間的因果關(guān)系。按照變量之間的關(guān)系類型,回歸分析可以分為線性回歸和非線性回歸。
線性回歸(Linear regression) 假設(shè)給定數(shù)據(jù)集中的目標(biāo)(y)與特征(X)存在線性關(guān)系,即滿足一個(gè)多元一次方程 。 回歸分析中,只包括一個(gè)自變量和一個(gè)因變量,且二者的關(guān)系可用一條直線近似表示,稱為一元線性回歸;如果包括兩個(gè)或多個(gè)的自變量,且因變量和自變量之間是線性關(guān)系,則稱為多元線性回歸。
根據(jù)樣本數(shù)據(jù),采用最小二乘法可以得到線性回歸模型參數(shù)的估計(jì)量,并使根據(jù)估計(jì)參數(shù)計(jì)算的模型數(shù)據(jù)與給定的樣本數(shù)據(jù)之間誤差的平方和為最小。
進(jìn)一步地,還需要分析對(duì)于樣本數(shù)據(jù)究竟能不能采用線性回歸方法,或者說(shuō)線性相關(guān)的假設(shè)是否合理、線性模型是否具有良好的穩(wěn)定性?這就需要使用統(tǒng)計(jì)分析進(jìn)行顯著性檢驗(yàn),檢驗(yàn)因變量與自變量之間的線性關(guān)系是否顯著,用線性模型來(lái)描述它們之間的關(guān)系是否恰當(dāng)。
2、Statsmodels 進(jìn)行線性回歸
本節(jié)結(jié)合 Statsmodels 統(tǒng)計(jì)分析包 的使用介紹線性擬合和回歸分析。線性模型可以表達(dá)為如下公式:
2.1 導(dǎo)入工具包
import statsmodels.api as sm from statsmodels.sandbox.regression.predstd
import wls_prediction_std
2.2 導(dǎo)入樣本數(shù)據(jù)
樣本數(shù)據(jù)通常保存在數(shù)據(jù)文件中,因此要讀取數(shù)據(jù)文件獲得樣本數(shù)據(jù)。為便于閱讀和測(cè)試程序,本文使用隨機(jī)數(shù)生成樣本數(shù)據(jù)。讀取數(shù)據(jù)文件導(dǎo)入數(shù)據(jù)的方法,將在后文介紹。
# 生成樣本數(shù)據(jù): nSample = 100 x1 = np.linspace(0, 10, nSample) # 起點(diǎn)為 0,終點(diǎn)為 10,均分為 nSample個(gè)點(diǎn) e = np.random.normal(size=len(x1)) # 正態(tài)分布隨機(jī)數(shù) yTrue = 2.36 + 1.58 * x1 # y = b0 + b1*x1 yTest = yTrue + e # 產(chǎn)生模型數(shù)據(jù)
本案例是一元線性回歸問(wèn)題,(yTest,x)是導(dǎo)入的樣本數(shù)據(jù),我們需要通過(guò)線性回歸獲得因變量 y 與自變量 x 之間的定量關(guān)系。yTrue 是理想模型的數(shù)值,yTest 模擬實(shí)驗(yàn)檢測(cè)的數(shù)據(jù),在理想模型上加入了正態(tài)分布的隨機(jī)誤差。
2.3 建模與擬合
一元線性回歸模型方程為:
y = β0 + β1 * x + e
先通過(guò) sm.add_constant() 向矩陣 X 添加截距列后,再用 sm.OLS() 建立普通最小二乘模型,最后用 model.fit() 就能實(shí)現(xiàn)線性回歸模型的擬合,并返回?cái)M合與統(tǒng)計(jì)分析的結(jié)果摘要。
X = sm.add_constant(x1) # 向 x1 左側(cè)添加截距列 x0=[1,…1]
statsmodels.OLS 是 statsmodels.regression.linear_model 的函數(shù),有 4個(gè)參數(shù) (endog, exog, missing, hasconst)。
model = sm.OLS(yTest, X) # 建立最小二乘模型(OLS)
results = model.fit() # 返回模型擬合結(jié)果
第一個(gè)參數(shù) endog 是回歸模型中的因變量 y(t), 是1-d array 數(shù)據(jù)類型。
第二個(gè)輸入 exog 是自變量 x0(t),x1(t),…,xm(t),是(m+1)-d array 數(shù)據(jù)類型。
需要注意的是,statsmodels.OLS 的回歸模型沒(méi)有常數(shù)項(xiàng),其形式為:
y = B*X + e = β0*x0 + β1*x1 + e, x0 = [1,…1]
而之前導(dǎo)入的數(shù)據(jù) (yTest,x1) 并不包含 x0,因此需要在 x1 左側(cè)增加一列截距列 x0=[1,…1],將自變量矩陣轉(zhuǎn)換為 X = (x0, x1)。函數(shù) sm.add_constant() 實(shí)現(xiàn)的就是這個(gè)功能。
參數(shù) missing 用于數(shù)據(jù)檢查, hasconst 用于檢查常量,一般情況不需要。
2.4 擬合和統(tǒng)計(jì)結(jié)果的輸出
Statsmodels 進(jìn)行線性回歸分析的輸出結(jié)果非常豐富,results.summary() 返回了回歸分析的摘要。
print(results.summary()) # 輸出回歸分析的摘要
摘要所返回的內(nèi)容非常豐富,這里先討論最重要的一些結(jié)果,在 summary 的中間段落。
============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const 2.4669 0.186 13.230 0.000 2.097 2.837 x1 1.5883 0.032 49.304 0.000 1.524 1.652 ==============================================================================
coef
:回歸系數(shù)(Regression coefficient),即模型參數(shù) β0、β1、…的估計(jì)值。
std err
:標(biāo)準(zhǔn)差( Standard deviation),也稱標(biāo)準(zhǔn)偏差,是方差的算術(shù)平方根,反映樣本數(shù)據(jù)值與回歸模型估計(jì)值之間的平均差異程度 。標(biāo)準(zhǔn)差越大,回歸系數(shù)越不可靠。
t
:t 統(tǒng)計(jì)量(t-Statistic),等于回歸系數(shù)除以標(biāo)準(zhǔn)差,用于對(duì)每個(gè)回歸系數(shù)分別進(jìn)行檢驗(yàn),檢驗(yàn)每個(gè)自變量對(duì)因變量的影響是否顯著。如果某個(gè)自變量 xi的影響不顯著,意味著可以從模型中剔除這個(gè)自變量。
P>|t|
:t檢驗(yàn)的 P值(Prob(t-Statistic)),反映每個(gè)自變量 xi 與因變量 y 的相關(guān)性假設(shè)的顯著性。如果 p<0.05,可以理解為在0.05的顯著性水平下變量xi與y存在回歸關(guān)系,具有顯著性。
[0.025,0.975]
:回歸系數(shù)的置信區(qū)間(Confidence interval)的下限、上限,某個(gè)回歸系數(shù)的置信區(qū)間以 95%的置信度包含該回歸系數(shù) 。注意并不是指樣本數(shù)據(jù)落在這一區(qū)間的概率為 95%。
此外,還有一些重要的指標(biāo)需要關(guān)注:
R-squared
:R方判定系數(shù)(Coefficient of determination),表示所有自變量對(duì)因變量的聯(lián)合的影響程度,用于度量回歸方程擬合度的好壞,越接近于 1說(shuō)明擬合程度越好。
F-statistic
:F 統(tǒng)計(jì)量(F-Statistic),用于對(duì)整體回歸方程進(jìn)行顯著性檢驗(yàn),檢驗(yàn)所有自變量在整體上對(duì)因變量的影響是否顯著。
Statsmodels 也可以通過(guò)屬性獲取所需的回歸分析的數(shù)據(jù),例如:
print(“OLS model: Y = b0 + b1 * x”) # b0: 回歸直線的截距,b1: 回歸直線的斜率
print('Parameters: ', results.params) # 輸出:擬合模型的系數(shù)
yFit = results.fittedvalues # 擬合模型計(jì)算出的 y值
ax.plot(x1, yTest, ‘o', label=“data”) # 原始數(shù)據(jù)
ax.plot(x1, yFit, ‘r-', label=“OLS”) # 擬合數(shù)據(jù)
3、一元線性回歸
3.1 一元線性回歸 Python 程序:
# LinearRegression_v1.py # Linear Regression with statsmodels (OLS: Ordinary Least Squares) # v1.0: 調(diào)用 statsmodels 實(shí)現(xiàn)一元線性回歸 # 日期:2021-05-04 import numpy as np import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.sandbox.regression.predstd import wls_prediction_std def main(): # 主程序 # 生成測(cè)試數(shù)據(jù): nSample = 100 x1 = np.linspace(0, 10, nSample) # 起點(diǎn)為 0,終點(diǎn)為 10,均分為 nSample個(gè)點(diǎn) e = np.random.normal(size=len(x1)) # 正態(tài)分布隨機(jī)數(shù) yTrue = 2.36 + 1.58 * x1 # y = b0 + b1*x1 yTest = yTrue + e # 產(chǎn)生模型數(shù)據(jù) # 一元線性回歸:最小二乘法(OLS) X = sm.add_constant(x1) # 向矩陣 X 添加截距列(x0=[1,...1]) model = sm.OLS(yTest, X) # 建立最小二乘模型(OLS) results = model.fit() # 返回模型擬合結(jié)果 yFit = results.fittedvalues # 模型擬合的 y值 prstd, ivLow, ivUp = wls_prediction_std(results) # 返回標(biāo)準(zhǔn)偏差和置信區(qū)間 # OLS model: Y = b0 + b1*X + e print(results.summary()) # 輸出回歸分析的摘要 print("\nOLS model: Y = b0 + b1 * x") # b0: 回歸直線的截距,b1: 回歸直線的斜率 print('Parameters: ', results.params) # 輸出:擬合模型的系數(shù) # 繪圖:原始數(shù)據(jù)點(diǎn),擬合曲線,置信區(qū)間 fig, ax = plt.subplots(figsize=(10, 8)) ax.plot(x1, yTest, 'o', label="data") # 原始數(shù)據(jù) ax.plot(x1, yFit, 'r-', label="OLS") # 擬合數(shù)據(jù) ax.plot(x1, ivUp, '--',color='orange',label="upConf") # 95% 置信區(qū)間 上限 ax.plot(x1, ivLow, '--',color='orange',label="lowConf") # 95% 置信區(qū)間 下限 ax.legend(loc='best') # 顯示圖例 plt.title('OLS linear regression ') plt.show() return if __name__ == '__main__': #YouCans, XUPT main()
3.2 一元線性回歸 程序運(yùn)行結(jié)果:
OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.961 Model: OLS Adj. R-squared: 0.961 Method: Least Squares F-statistic: 2431. Date: Wed, 05 May 2021 Prob (F-statistic): 5.50e-71 Time: 16:24:22 Log-Likelihood: -134.62 No. Observations: 100 AIC: 273.2 Df Residuals: 98 BIC: 278.5 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const 2.4669 0.186 13.230 0.000 2.097 2.837 x1 1.5883 0.032 49.304 0.000 1.524 1.652 ============================================================================== Omnibus: 0.070 Durbin-Watson: 2.016 Prob(Omnibus): 0.966 Jarque-Bera (JB): 0.187 Skew: 0.056 Prob(JB): 0.911 Kurtosis: 2.820 Cond. No. 11.7 ============================================================================== OLS model: Y = b0 + b1 * x Parameters: [2.46688389 1.58832741]
4、多元線性回歸
4.1 多元線性回歸 Python 程序:
# LinearRegression_v2.py # Linear Regression with statsmodels (OLS: Ordinary Least Squares) # v2.0: 調(diào)用 statsmodels 實(shí)現(xiàn)多元線性回歸 # 日期:2021-05-04 import numpy as np import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.sandbox.regression.predstd import wls_prediction_std # 主程序 def main(): # 主程序 # 生成測(cè)試數(shù)據(jù): nSample = 100 x0 = np.ones(nSample) # 截距列 x0=[1,...1] x1 = np.linspace(0, 20, nSample) # 起點(diǎn)為 0,終點(diǎn)為 10,均分為 nSample個(gè)點(diǎn) x2 = np.sin(x1) x3 = (x1-5)**2 X = np.column_stack((x0, x1, x2, x3)) # (nSample,4): [x0,x1,x2,...,xm] beta = [5., 0.5, 0.5, -0.02] # beta = [b1,b2,...,bm] yTrue = np.dot(X, beta) # 向量點(diǎn)積 y = b1*x1 + ...+ bm*xm yTest = yTrue + 0.5 * np.random.normal(size=nSample) # 產(chǎn)生模型數(shù)據(jù) # 多元線性回歸:最小二乘法(OLS) model = sm.OLS(yTest, X) # 建立 OLS 模型: Y = b0 + b1*X + ... + bm*Xm + e results = model.fit() # 返回模型擬合結(jié)果 yFit = results.fittedvalues # 模型擬合的 y值 print(results.summary()) # 輸出回歸分析的摘要 print("\nOLS model: Y = b0 + b1*X + ... + bm*Xm") print('Parameters: ', results.params) # 輸出:擬合模型的系數(shù) # 繪圖:原始數(shù)據(jù)點(diǎn),擬合曲線,置信區(qū)間 prstd, ivLow, ivUp = wls_prediction_std(results) # 返回標(biāo)準(zhǔn)偏差和置信區(qū)間 fig, ax = plt.subplots(figsize=(10, 8)) ax.plot(x1, yTest, 'o', label="data") # 實(shí)驗(yàn)數(shù)據(jù)(原始數(shù)據(jù)+誤差) ax.plot(x1, yTrue, 'b-', label="True") # 原始數(shù)據(jù) ax.plot(x1, yFit, 'r-', label="OLS") # 擬合數(shù)據(jù) ax.plot(x1, ivUp, '--',color='orange', label="ConfInt") # 置信區(qū)間 上屆 ax.plot(x1, ivLow, '--',color='orange') # 置信區(qū)間 下屆 ax.legend(loc='best') # 顯示圖例 plt.xlabel('x') plt.ylabel('y') plt.show() return if __name__ == '__main__': main()
4.2 多元線性回歸 程序運(yùn)行結(jié)果:
OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.932 Model: OLS Adj. R-squared: 0.930 Method: Least Squares F-statistic: 440.0 Date: Thu, 06 May 2021 Prob (F-statistic): 6.04e-56 Time: 10:38:51 Log-Likelihood: -68.709 No. Observations: 100 AIC: 145.4 Df Residuals: 96 BIC: 155.8 Df Model: 3 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const 5.0411 0.120 41.866 0.000 4.802 5.280 x1 0.4894 0.019 26.351 0.000 0.452 0.526 x2 0.5158 0.072 7.187 0.000 0.373 0.658 x3 -0.0195 0.002 -11.957 0.000 -0.023 -0.016 ============================================================================== Omnibus: 1.472 Durbin-Watson: 1.824 Prob(Omnibus): 0.479 Jarque-Bera (JB): 1.194 Skew: 0.011 Prob(JB): 0.551 Kurtosis: 2.465 Cond. No. 223. ============================================================================== OLS model: Y = b0 + b1*X + ... + bm*Xm Parameters: [ 5.04111867 0.4893574 0.51579806 -0.01951219]
5、附錄:回歸結(jié)果詳細(xì)說(shuō)明
Dep.Variable: y 因變量
Model:OLS 最小二乘模型
Method: Least Squares 最小二乘
No. Observations: 樣本數(shù)據(jù)的數(shù)量
Df Residuals:殘差自由度(degree of freedom of residuals)
Df Model:模型自由度(degree of freedom of model)
Covariance Type:nonrobust 協(xié)方差陣的穩(wěn)健性
R-squared:R 判定系數(shù)
Adj. R-squared: 修正的判定系數(shù)
F-statistic: 統(tǒng)計(jì)檢驗(yàn) F 統(tǒng)計(jì)量
Prob (F-statistic): F檢驗(yàn)的 P值
Log likelihood: 對(duì)數(shù)似然 coef:自變量和常數(shù)項(xiàng)的系數(shù),b1,b2,...bm,b0
std err:系數(shù)估計(jì)的標(biāo)準(zhǔn)誤差
t:統(tǒng)計(jì)檢驗(yàn) t 統(tǒng)計(jì)量
P>|t|:t 檢驗(yàn)的 P值
[0.025, 0.975]:估計(jì)參數(shù)的 95%置信區(qū)間的下限和上限
Omnibus:基于峰度和偏度進(jìn)行數(shù)據(jù)正態(tài)性的檢驗(yàn)
Prob(Omnibus):基于峰度和偏度進(jìn)行數(shù)據(jù)正態(tài)性的檢驗(yàn)概率
Durbin-Watson:檢驗(yàn)殘差中是否存在自相關(guān)
Skewness:偏度,反映數(shù)據(jù)分布的非對(duì)稱程度
Kurtosis:峰度,反映數(shù)據(jù)分布陡峭或平滑程度
Jarque-Bera(JB):基于峰度和偏度對(duì)數(shù)據(jù)正態(tài)性的檢驗(yàn)
Prob(JB):Jarque-Bera(JB)檢驗(yàn)的 P值。
Cond. No.:檢驗(yàn)變量之間是否存在精確相關(guān)關(guān)系或高度相關(guān)關(guān)系。
以上就是Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸之線性回歸示例詳解的詳細(xì)內(nèi)容,更多關(guān)于數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸之線性回歸的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python使用latexify模塊實(shí)現(xiàn)將代碼為數(shù)學(xué)公式
- Python內(nèi)置數(shù)學(xué)函數(shù)和math模塊使用指南
- 表格梳理python內(nèi)置數(shù)學(xué)模塊math分析詳解
- Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸可視化示例詳解
- Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸模型數(shù)據(jù)的準(zhǔn)備
- python常用模塊(math itertools functools sys shutil)使用講解
- Python中非常實(shí)用的Math模塊函數(shù)教程詳解
- Python?Math數(shù)學(xué)函數(shù)常數(shù)冪和對(duì)數(shù)基礎(chǔ)應(yīng)用實(shí)例
相關(guān)文章
解決Django提交表單報(bào)錯(cuò):CSRF token missing or incorrect的問(wèn)題
這篇文章主要介紹了解決Django提交表單報(bào)錯(cuò):CSRF token missing or incorrect的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Python使用unicodedata實(shí)現(xiàn)字符串標(biāo)準(zhǔn)化
這篇文章主要來(lái)和大家聊一聊 Python 的一個(gè)內(nèi)置模塊:unicodedata,它是專門用來(lái)處理 unicode 字符串的,下面就一起來(lái)看看它的用法吧2023-06-06Win10用vscode打開anaconda環(huán)境中的python出錯(cuò)問(wèn)題的解決
這篇文章主要介紹了Win10用vscode打開anaconda環(huán)境中的python出錯(cuò),本文給大家分享解決方案,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05探尋python多線程ctrl+c退出問(wèn)題解決方案
這篇文章主要講述了探尋python多線程ctrl-c退出問(wèn)題解決方案,需要的朋友可以參考下2014-10-10Python讀取圖片屬性信息的實(shí)現(xiàn)方法
這篇文章介紹了利用Python讀取圖片屬性信息的方法,讀取的內(nèi)容包括GPS 信息、圖片分辨率、圖片像素、設(shè)備商、拍攝設(shè)備等,有需要的朋友們可以參考借鑒。2016-09-09python處理文本文件實(shí)現(xiàn)生成指定格式文件的方法
這篇文章主要介紹了python處理文本文件實(shí)現(xiàn)生成指定格式文件的方法,有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-07-07Python并發(fā)請(qǐng)求下限制QPS(每秒查詢率)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python并發(fā)請(qǐng)求下限制QPS(每秒查詢率)實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06Pycharm配置autopep8實(shí)現(xiàn)流程解析
這篇文章主要介紹了Pycharm配置autopep8實(shí)現(xiàn)流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11