10.27周测

student表
student表
score表
score表

--从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
SELECT id,name,department FROM student;

--从student表中查询年龄18~22岁的学生信息
SELECT id,name,sex,2017-birth AS age,department,address
FROM student
WHERE 2017-birth BETWEEN  18 AND 22;

--从student表中查询每个院系有多少人 
SELECT department, COUNT(id) FROM student GROUP BY department;

--从score表中查询每个科目的最高分
SELECT c_name,MAX(grade) FROM score GROUP BY c_name;

--查询李四的考试科目(c_name)和考试成绩(grade)
SELECT c_name, grade
FROM student
LEFT JOIN score 
ON score.stu_id=student.id
WHERE name= '李四';

--用连接的方式查询所有学生的信息和考试信息
SELECT student.id,name,sex,birth,department,address,c_name,grade
FROM student,score
WHERE student.id=score.stu_id;

--计算每个学生的总成绩
SELECT student.id,name,SUM(grade) FROM student,score
WHERE student.id=score.stu_id
GROUP BY id;

--计算每个考试科目的平均成绩
SELECT c_name,AVG(grade) FROM score GROUP BY c_name;

--查询计算机成绩低于95的学生信息
SELECT * FROM student
LEFT JOIN score
ON student.id = score.stu_id
WHERE c_name='计算机' AND grade < 95;

--查询同时参加计算机和英语考试的学生的信息
SELECT *  FROM student
WHERE id = ANY
( SELECT stu_id FROM score
WHERE stu_id IN (
SELECT stu_id FROM
score WHERE c_name=  '计算机')
AND c_name= '英语' );

--将计算机考试成绩按从高到低进行排序
SELECT stu_id, grade
FROM score WHERE c_name= '计算机'
ORDER BY grade DESC;

--从student表和score表中查询出学生的学号,然后合并查询结果
SELECT id  FROM student
UNION
SELECT stu_id  FROM score;

--查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
SELECT name, department, c_name, grade
FROM student
LEFT JOIN score
ON score.stu_id = student.id
WHERE name LIKE '张%' OR name LIKE '王%'

--查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
SELECT name, 2017-birth, department, c_name, grade
FROM student 
LEFT JOIN score
ON score.stu_id = student.id
WHERE address LIKE '湖南%' ;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用PYTHON编写自19717月开始,道琼斯工业股票平均价格指数每周收盘价如表所示(行数据)。 890.19 901.8 888.51 887.78 858.43 850.61 856.02 880.91 908.15 912.75 911 908.22 889.31 893.98 893.91 874.85 852.37 839 840.39 812.94 810.67 816.55 859.59 856.75 873.8 881.17 890.2 910.37 906.68 907.44 906.38 906.68 917.59 917.52 22.79 942.43 939.87 942.88 942.28 940.7 962.6 967.72 963.8 954.17 941.23 941.83 961.54 971.25 961.39 934.45 945.06 944.69 929.03 938.06 922.26 920.45 926.7 951.76 964.18 965.83 959.36 970.05 961.24 947.23 943.03 953.27 945.36 930.46 942.81 946.42 984.12 995.26 1005.57 1025.21 1023.43 1033.19 1027.24 1004.21 1020.02 1047.49 1039.36 1026.19 1003.54 980.81 979.46 979.23 959.89 961.32 972.23 963.05 922.71 951.01 931.07 959.36 963.2 922.19 953.87 927.89 895.17 930.84 893.96 920 888.55 879.82 891.71 870.11 885.99 910.9 936.71 908.87 852.38 871.84 863.49 887.57 898.63 886.36 927.9 947.1 971.25 978.63 963.73 987.06 935.28 908.42 891.33 854 822.25 838.05 815.65 818.73 848.02 880.23 841.48 855.47 859.39 843.94 820.4 820.32 855.99 851.92 878.05 887.83 878.13 846.68 847.54 844.81 859.9 834.64 845.9 850.44 818.84 816.65 802.17 853.72 843.09 815.39 802.41 791.77 787.23 787.94 784.57 752.58(1)检验该序列的平稳性。 (2)对该序列拟合适当的ARIMA模型提取水平信息。 (3)考察该序列是否具有条件异方差属性。如果有条件异方差属性,则拟合适当的条件异方差模型。 (4)使用拟合模型预测该序列未来4周的收盘价及收盘价的95%的置信区间。
最新发布
06-07
好的,以下是代码实现的步骤: 步骤1:导入必要的库 ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.tsa.arima_model import ARIMA from statsmodels.graphics.tsaplots import plot_acf, plot_pacf from statsmodels.stats.diagnostic import acorr_ljungbox from arch import arch_model ``` 步骤2:读取数据并进行预处理 ```python data = [890.19, 901.8, 888.51, 887.78, 858.43, 850.61, 856.02, 880.91, 908.15, 912.75, 911, 908.22, 889.31, 893.98, 893.91, 874.85, 852.37, 839, 840.39, 812.94, 810.67, 816.55, 859.59, 856.75, 873.8, 881.17, 890.2, 910.37, 906.68, 907.44, 906.38, 906.68, 917.59, 917.52, 22.79, 942.43, 939.87, 942.88, 942.28, 940.7, 962.6, 967.72, 963.8, 954.17, 941.23, 941.83, 961.54, 971.25, 961.39, 934.45, 945.06, 944.69, 929.03, 938.06, 922.26, 920.45, 926.7, 951.76, 964.18, 965.83, 959.36, 970.05, 961.24, 947.23, 943.03, 953.27, 945.36, 930.46, 942.81, 946.42, 984.12, 995.26, 1005.57, 1025.21, 1023.43, 1033.19, 1027.24, 1004.21, 1020.02, 1047.49, 1039.36, 1026.19, 1003.54, 980.81, 979.46, 979.23, 959.89, 961.32, 972.23, 963.05, 922.71, 951.01, 931.07, 959.36, 963.2, 922.19, 953.87, 927.89, 895.17, 930.84, 893.96, 920, 888.55, 879.82, 891.71, 870.11, 885.99, 910.9, 936.71, 908.87, 852.38, 871.84, 863.49, 887.57, 898.63, 886.36, 927.9, 947.1, 971.25, 978.63, 963.73, 987.06, 935.28, 908.42, 891.33, 854, 822.25, 838.05, 815.65, 818.73, 848.02, 880.23, 841.48, 855.47, 859.39, 843.94, 820.4, 820.32, 855.99, 851.92, 878.05, 887.83, 878.13, 846.68, 847.54, 844.81, 859.9, 834.64, 845.9, 850.44, 818.84, 816.65, 802.17, 853.72, 843.09, 815.39, 802.41, 791.77, 787.23, 787.94, 784.57, 752.58] df = pd.DataFrame({'Close': data}) ``` 步骤3:检验平稳性 使用ADF单位根检验来检验该序列的平稳性。若p值小于0.05,则拒绝原假设,认为序列是平稳的。 ```python result = sm.tsa.stattools.adfuller(df['Close']) print('ADF Statistic: %f' % result[0]) print('p-value: %f' % result[1]) ``` 步骤4:确定模型阶数 使用ACF和PACF图来确定ARIMA模型的阶数。 ```python fig, ax = plt.subplots(2, 1, figsize=(10, 8)) plot_acf(df, lags=30, ax=ax[0]) plot_pacf(df, lags=30, ax=ax[1]) plt.show() ``` 步骤5:拟合ARIMA模型 根据确定的阶数,拟合ARIMA模型。 ```python model = ARIMA(df, order=(1, 1, 1)).fit() print(model.summary()) ``` 步骤6:检验条件异方差 使用LB检验来检验该序列是否具有条件异方差属性。若p值小于0.05,则认为该序列具有条件异方差属性。 ```python lbvalue, pvalue = acorr_ljungbox(model.resid, lags=[10]) print('p-value: ', pvalue) ``` 步骤7:拟合ARCH模型 若序列具有条件异方差属性,则使用ARCH模型进行拟合。 ```python model = arch_model(df, vol='GARCH', p=1, q=1, dist='Normal') fit_model = model.fit(disp='off') print(fit_model.summary()) ``` 步骤8:预测未来四周收盘价 使用拟合好的模型来预测未来四周的收盘价,并计算95%的置信区间。 ```python forecast = fit_model.forecast(horizon=4) print(forecast.mean[-1]) print(forecast.residual_variance[-1]) print(forecast.variance[-1]) print(forecast.conf_int()) ``` 以上就是实现该问题的代码步骤,需要注意的是,具体的模型阶数、ARCH模型的参数等需要根据实际数据情况来确定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值