文章目錄
- chapter2—40題
- chapter3—54題
- chapter3—60題
chapter2—40題
數據文件名為Sno.csv,包含美國51個主要城市1981~2010年的年平均最高氣溫和年平均降雪量
1.以年平均最低氣溫為橫軸,年平均降雪量為數軸,繪制散點圖
2.這兩個變量之間存在相關關系嗎
練習:
1.畫散點圖
import pandas
as pd
import numpy
as np
import matplotlib
.pyplot
as plt
%matplotlib inline
plt
.rcParams
['font.sans-serif']=['Arial Unicode MS']
plt
.rcParams
['axes.unicode_minus']=False
snow
= pd
.read_csv
("/myfile/個人事務/數據分析學習/商務與經濟統計/數據文件/第2章/Snow.csv",sep
=",")
X
= snow
["Average Low temp"]
X
= round((X
-32)/1.8,2)
Y
= snow
["Average Snowfall"]fig
= plt
.figure
(figsize
=(8,6))
plt
.scatter
(X
,Y
)
plt
.title
("溫度與降雪量散點圖")
plt
.xlabel
("年平均最低氣溫(℃)")
plt
.ylabel
("年平均降雪量(英寸)")
2.年平均最低氣溫越低,年降雪量越高
chapter3—54題
BorderCrossings.csv文件,包含8月期間50個最繁忙的美國-加拿大和美國-墨西哥入境口岸的個人車輛過境數(四舍五入到最接近的1000輛)(美國交通運輸局網站,2013年2月28日)
1.這些入境口岸過境次數的平均數和中位數是多少
2.第一四分位數和第三四分位數各為多少
3.用五數概括法匯總數據
4.數據是否包含異常值?繪制箱形圖。
練習:
1.求平均數和中位數
BC
= pd
.read_csv
("/myfile/個人事務/數據分析學習/商務與經濟統計/數據文件/第3章/BorderCrossings.csv",sep
=",")
BC
.rename
(columns
={"Port Name":"Port_Name","Personal Vehicles (1000s)":"Personal_Vehicles"},inplace
=True)
BC
.Personal_Vehicles
.mean
()
BC
.Personal_Vehicles
.median
()
結果
2.求分位數
a.直接使用numpy庫中的np.percentile()函數求分位數
q1
= np
.percentile
(BC
["Personal_Vehicles"],25,interpolation
="linear")
q3
= np
.percentile
(BC
["Personal_Vehicles"],75,interpolation
="linear") print("第一四分位數是:{}".format(q1
))
print("第三四分位數是:{}".format(q3
))
查閱答案發現,計算結果和標準答案不同,因此根據書上公式自編一段函數求解
b.自編函數
先將樣本排序,X={x1,x2,…,xn},x1<=x2<=...<=,xnX=\left\{x_{1},x_{2},…,x_{n} \right\},x_{1}<=x_{2}<=...<=,x_{n}X={x1?,x2?,…,xn?},x1?<=x2?<=...<=,xn?
根據書上公式,先求分位數的位置
Lp=p100?(n+1)L_{p} = \frac{p}{100}*(n+1)Lp?=100p??(n+1)
其中p為第p分位數,n為樣本數量
若LpL_{p}Lp?為整數,則對應位置的值xLpx_{L_{p}}xLp??為第p分位數;若LpL_{p}Lp?不為整數,則記整數部分為Lp?intL_{p-int}Lp?int?,小數部分為Lp?decL_{p-dec}Lp?dec?,計算公式為
Q=xLp?int+(xLp?int+1?xLp?int)?Lp?decQ = x_{L_{p-int}} +(x_{L_{p-int}+1} -x_{L_{p-int}} )*L_{p-dec}Q=xLp?int??+(xLp?int?+1??xLp?int??)?Lp?dec?
import math
def quantile(x
,q
):x
= sorted(x
)n
= len(x
)local
= q
/100*(n
+1) local_dec
,local_int
= math
.modf
(local
) local_int
= int(local_int
) q_percent
= x
[local_int
-1]+(x
[local_int
]-x
[local_int
-1])*local_dec
return q_percent
q_1
= quantile
(BC
["Personal_Vehicles"],25)
q_3
= quantile
(BC
["Personal_Vehicles"],75)print("根據《商務與經濟統計》定義得第一四分位數是:{}".format(q_1
))
print("根據《商務與經濟統計》定義得第三四分位數是:{}".format(q_3
))
3.用五數概括法描述數據
五數指:最小值、第一四分位數、中位數、第三四分位數、最大值
BC
.Personal_Vehicles
.describe
()
4.異常值檢測,箱形圖
根據書上的方法,數據的下限和上限為
下限=Q1?1.5?IQR下限 = Q_{1} - 1.5*IQR下限=Q1??1.5?IQR
上限=Q3+1.5?IQR上限 = Q_{3}+1.5*IQR上限=Q3?+1.5?IQR
其中IQR=Q3?Q1IQR=Q_{3}-Q_{1}IQR=Q3??Q1?
IQR
= q3
- q1
lower
= q1
- 1.5 * IQR
upper
= q3
+ 1.5 * IQR
BC
["Personal_Vehicles"] = BC
["Personal_Vehicles"].astype
("float")
BC
[((BC
["Personal_Vehicles"] < lower
) | (BC
["Personal_Vehicles"] > upper
))]
plt
.boxplot
(BC
["Personal_Vehicles"])
chapter3—60題
羅素1000是包含美國最大的1000家公司的股票市場指數,以30家大公司的股票價格為依據。文件Russell.csv給出1988~2012年這些指數各自的年回報率
1.繪制這些回報率的散點圖
2.計算每個指數的樣本均值和樣本標準差
3.計算樣本相關系數
4.討論這兩個指數之間的相似性與不同性
練習:
1.散點圖
russ
= pd
.read_csv
("/myfile/個人事務/數據分析學習/商務與經濟統計/數據文件/第3章/Russell.csv",sep
=",")
y1
= russ
["DJIA % Return"]
y2
= russ
["Russell 1000 % Return"]plt
.scatter
(y1
,y2
,c
= "b",label
= "DJIA")
2.計算樣本均值和樣本標準差
樣本均值:xˉ=∑xin\bar{x}=\frac{\sum x_{i}}{n}xˉ=n∑xi??
樣本標準差:s=∑(xi?xˉ)2n?1s=\sqrt{\frac{\sum (x_{i}-\bar x)^2}{n-1}}s=n?1∑(xi??xˉ)2??
DJIA_mean
= y1
.mean
()
DJIA_std
= y1
.std
()Russ_mean
= y2
.mean
()
Russ_std
= y2
.std
()print("DJIA指數的樣本均值為:{},樣本方差為:{}".format(round(DJIA_mean
,2),round(DJIA_std
,2)))
print("Russell指數的樣本均值為:{},樣本方差為:{}".format(round(Russ_mean
,2),round(Russ_std
,2)))
3.計算相關系數
round(y1
.corr
(y2
),4)
4.這兩個指數呈正相關,Russell指數的樣本標準差略大于DJIA指數。
總結
以上是生活随笔為你收集整理的用python完成《商务与经济统计(13版)》课后练习及案例分析——第2章和第3章的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。