统计学习导论:基于R应用——第五章习题
第五章习题
1.
我们主要用到下面三个公式:
根据上述公式,我们将式子化简为
对求导即可得到得到公式5-6。
2.
(a)
1 - 1/n
(b)
自助法是有有放回的,所以第二个的概率还是1 - 1/n
(c)
由于自助法是有放回的,且每次抽样都是独立事件,所以概率是(1 - 1/n)^n
(d)
答案是1-(1-1/5)^5 = 67.2%
(e)
63.4%
(f)
63.2%
(g)
pr = function(n) return(1 - (1 - 1/n)^n)
x = 1:1e+05
plot(x, pr(x))
3题和4题略
5.
(a)
library(ISLR)
summary(Default) attach(Default) set.seed(1)
glm.fit = glm(default ~ income + balance, data = Default, family = binomial)
(b)
train = sample(dim(Default)[1], dim(Default)[1]/2)
glm.fit = glm(default ~ income + balance, data = Default, family = binomial, subset = train)
glm.pred = rep("No", dim(Default)[1]/2)
glm.probs = predict(glm.fit, Default[-train, ], type = "response")
glm.pred[glm.probs > 0.5] = "Yes"
mean(glm.pred != Default[-train, ]$default)
(c)
把(b)跑三遍。。。
(d)
上面代码在拟合逻辑回归的时候加个变量即可
6.
(a)
library(ISLR)
summary(Default)
attach(Default) set.seed(1)
glm.fit = glm(default ~ income + balance, data = Default, family = binomial)
summary(glm.fit)
(b)
boot.fn = function(data, index) return(coef(glm(default ~ income + balance, data = data, family = binomial, subset = index)))
(c)
library(boot)
boot(Default, boot.fn, 50)
7.
(a)
library(ISLR)
summary(Weekly)
set.seed(1)
attach(Weekly) glm.fit = glm(Direction ~ Lag1 + Lag2, data = Weekly, family = binomial)
summary(glm.fit)
(b)
glm.fit = glm(Direction ~ Lag1 + Lag2, data = Weekly[-1, ], family = binomial)
summary(glm.fit)
(c)
predict.glm(glm.fit, Weekly[1, ], type = "response") > 0.5
(d)
count = rep(0, dim(Weekly)[1])
for (i in 1:(dim(Weekly)[1])) {
glm.fit = glm(Direction ~ Lag1 + Lag2, data = Weekly[-i, ], family = binomial)
is_up = predict.glm(glm.fit, Weekly[i, ], type = "response") > 0.5
is_true_up = Weekly[i, ]$Direction == "Up"
if (is_up != is_true_up)
count[i] = 1
}
sum(count)
(e)
mean(count)
8.
(a)
n为100,p为2
(b)
set.seed(1)
y = rnorm(100)
x = rnorm(100)
y = x - 2 * x^2 + rnorm(100)
plot(x, y)
(c)
library(boot)
Data = data.frame(x, y)
set.seed(1) glm.fit = glm(y ~ x)
cv.glm(Data, glm.fit)$delta glm.fit = glm(y ~ poly(x, 2))
cv.glm(Data, glm.fit)$delta glm.fit = glm(y ~ poly(x, 3))
cv.glm(Data, glm.fit)$delta glm.fit = glm(y ~ poly(x, 4))
cv.glm(Data, glm.fit)$delta
(d)
set.seed(10)
glm.fit = glm(y ~ x)
cv.glm(Data, glm.fit)$delta glm.fit = glm(y ~ poly(x, 2))
cv.glm(Data, glm.fit)$delta glm.fit = glm(y ~ poly(x, 3))
cv.glm(Data, glm.fit)$delta glm.fit = glm(y ~ poly(x, 4))
cv.glm(Data, glm.fit)$delta
结果一样。。。
(e)
二次的最小
9.
(a)
library(MASS)
summary(Boston) set.seed(1)
attach(Boston) medv.mean = mean(medv)
medv.mean
(b)
medv.err = sd(medv)/sqrt(length(medv))
medv.err
(c)
boot.fn = function(data, index) return(mean(data[index]))
library(boot)
bstrap = boot(medv, boot.fn, 1000)
bstrap
(d)
t.test(medv)
c(bstrap$t0 - 2 * 0.4119, bstrap$t0 + 2 * 0.4119)
(e)
medv.med = median(medv)
medv.med
(f)
boot.fn = function(data, index) return(median(data[index]))
boot(medv, boot.fn, 1000)
(g)
medv.tenth = quantile(medv, c(0.1))
medv.tenth
(h)
boot.fn = function(data, index) return(quantile(data[index], c(0.1)))
boot(medv, boot.fn, 1000)
统计学习导论:基于R应用——第五章习题的更多相关文章
- 统计学习导论:基于R应用——第三章习题
第三章习题 部分证明题未给出答案 1. 表3.4中,零假设是指三种形式的广告对TV的销量没什么影响.而电视广告和收音机广告的P值小说明,原假设是错的,也就是电视广告和收音机广告均对TV的销量有影响:报 ...
- 统计学习导论:基于R应用——第四章习题
第四章习题,部分题目未给出答案 1. 这个题比较简单,有高中生推导水平的应该不难. 2~3证明题,略 4. (a) 这个问题问我略困惑,答案怎么直接写出来了,难道不是10%么 (b) 这个答案是(0. ...
- 统计学习导论:基于R应用——第二章习题
目前在看统计学习导论:基于R应用,觉得这本书非常适合入门,打算把课后习题全部做一遍,记录在此博客中. 第二章习题 1. (a) 当样本量n非常大,预测变量数p很小时,这样容易欠拟合,所以一个光滑度更高 ...
- 《学习Opencv》第五章 习题6
这是第五章 习题5.6的结合版,其中实现了摄像头抓拍功能,能够成功运行. #include "stdafx.h" #include "cv.h" #includ ...
- 《零成本实现Web自动化测试--基于Selenium》 第五章 Selenium-RC
一. 简介 Selenium-RC可以适应更复杂的自动化测试需求,而不仅仅是简单的浏览器操作和线性执行.Selenium-RC能够充分利用编程语言来构建更复杂的自动化测试案例,例如读写文件.查询数据库 ...
- 《Python 学习手册4th》 第十五章 文档
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...
- The Definitive Guide To Django 2 学习笔记(九) 第五章 模型 (一)数据库访问
以MySql数据库为例,先到http://dev.mysql.com/downloads/connector/python/处下载MysqlConnector for python的连接器. from ...
- C和指针 第十五章 习题
15.8 十六进制倾印码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...
- [家里蹲大学数学杂志]第269期韩青编《A Basic Course in Partial Differential Equations》 前五章习题解答
1.Introduction 2.First-order Differential Equations Exercise2.1. Find solutons of the following inti ...
随机推荐
- Vim简明教程【CoolShell】
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- 安装完 MySQL 后必须调整的 10 项配置
原文出处: mysqlperformanceblog 译文出处:开源中国 欢迎分享原创到伯乐头条 当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议 ...
- Skinned Mesh原理解析和一个最简单的实现示例
Skinned Mesh 原理解析和一个最简单的实现示例 作者:n5 Email: happyfirecn##yahoo.com.cn Blog: http://blog.csdn.net/n5 ...
- NPOI读写Excel0307
#region NPOI 操作 Excel 2007 /// <summary> /// 将Excel文件中的数据读出到DataTable中(xlsx) /// </summary& ...
- php数组基础
一.php数组的声明 1.数组中可以有任意类型的数据 2.长度可以变长 3.数组的分类: a.索引数组:数组是以从0开始的帧数作为索引值 ...
- Ubuntu使用Xming和Putty
运行个复杂的,比如 gnome-session,这个是 GNOME 的启动命令,如果想打开 KDE 就是 startkde root@carlo-cloud:~# xlogoThe program ' ...
- Linux查看端口号
查看端口占用情况的命令:lsof -i 查看某一端口的占用情况: lsof -i:端口号 结束占用端口的进程:killall 进程名 也可使用命令: netstat -apn|grep <端口号 ...
- MySql可视化工具MySQL Workbench使用教程
1. MySQL Workbench MySQL Workbench 为数据库管理员.程序开发者和系统规划师提供可视化的Sql开发.数据库建模.以及数据库管理功能. 2.MySQL Workbench ...
- Truck History(poj 1789)
Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for v ...
- 除了创建时指定窗口位置之外,还有3种移动窗口位置的办法(移动的同时往往可以改变窗口大小)(SetWindowPos最有用,它有许多标志位)
首先,在创立窗口对象的时候,CreateWindowEx就可以指定窗口的位置.除此之外,还有三种方法可以改变窗口的位置: procedure TWinControl.CreateWindowHandl ...