R语言机器学习与临床预测模型74--模型建立和验证的统计基础

R小盐准备介绍R语言机器学习与预测模型的学习笔记

你想要的R语言学习资料都在这里, 快来收藏关注【科研私家菜】


01 统计模型

统计模型是一类数学模型,通常由一个或多个变量与近似现实相关的数学方程指定。统计模型所包含的假设描述了一组概率分布,这将其与非统计、数学或机器学习模型区分开来。统计模型总是从一些基本假设开始,对于这些假设,变量应该保持不变,那么模型提供的性能在统计上具有重要意义。因此,了解所有构建块中涉及的各种细节为成为一名成功的统计学家提供了坚实的基础。

总体和样本
data <- c(4,5,1,2,7,2,6,9,3) 
dt_mean = mean(data) ; 
print(round(dt_mean,2)) 
dt_median = median (data); 
print (dt_median) 
func_mode <- function (input_dt) {   
unq <- unique(input_dt)  
unq[which.max(tabulate(match(input_dt,unq)))] 
} 
dt_mode = func_mode (data); 
print (dt_mode)

方差

方差:这是平均值的平方偏差的平均值(xi=数据点,μ=数据的平均值,N=数据点的数量)。方差的维数是实际值的平方。在总体中使用分母N-1而不是N的原因是自由度。


标准差

标准差:这是方差的平方根。通过应用方差的平方根,我们测量相对于原始变量的离散度,而不是维度的平方。


分位数


data <- c(4,5,1,2,7,2,6,9,3)

# Calculate Mean
dt_mean = mean(data) ; print(round(dt_mean,2))

# Calculate Median
dt_median = median(data); print(dt_median)

# Calculate Mode
func_mode <- function(input_dt){
  unq <- unique(input_dt)
  unq[which.max(tabulate(match(input_dt,unq)))]
}

dt_mode = func_mode(data); print(dt_mode)



# Desriptive statistics - dispersion
game_points <- c(35,56,43,59,63,79,35,41,64,43,93,60,77,24,82)

# Calculation Variance
dt_var = var(game_points); print(round(dt_var,2))

# Calculation Standard Deviation
dt_std = sd(game_points); print(round(dt_std,2))

# Calculation Range
range_val<-function(x) return(diff(range(x))) 
dt_range = range_val(game_points); print(dt_range)

# Calculation Quantiles
dt_quantile = quantile(game_points,probs = c(0.2,0.8,1.0)); print(dt_quantile)

# Calculation Inter quartile range
dt_iqr = IQR(game_points); print(dt_iqr)


02 假设检验

假设检验

假设检验:这是通过对样本进行一些统计检验来推断总体的过程。NULL和替代假设是验证假设是否具有统计意义的方法。

P值

P值:获得测试统计结果的概率至少为实际观察到的概率的极大值,假设零假设为真(通常在建模中,对于每个独立变量,小于0.05的p值被认为是显著的,大于0.05的p值被认为是不显著的;尽管如此,这些值和定义可能会随着上下文而变化)。
第一类和第二类错误:由于收集所有可用数据的可用资源的实际限制,假设检验通常在样本而不是整个人群中进行。然而,从样本中进行人口推断有其自身的成本,例如拒绝好的结果或接受错误的结果,更不用说分别了,当样本量增加导致I型和II型误差最小化时:

  • I型误差:当为真时拒绝零假设。
  • II型误差:当为假正态分布时接受零假设
    正态分布:这在统计学中非常重要,因为中心极限定理,这表明,平均μ和方差σ2的总体中大小为n的所有可能样本的总体接近正态分布。

卡方检验

卡方检验:独立性检验是分类数据统计分析中最基本、最常见的假设检验之一。给定两个分类随机变量X和Y,独立性的卡方检验确定它们之间是否存在统计相关性。

ANOVA

方差分析检验两个或多个总体的均值相等的假设。ANOVA通过比较不同因子水平上的响应变量均值来评估一个或多个因子的重要性。零假设表示所有populationmeans都相等,而替代假设表示至少有一个不同。

混淆矩阵

混淆矩阵:这是实际与预测的矩阵。使用该模型的癌症预测示例更好地解释了这一概念。


  • 真阳性(TPs):真阳性是指当患者确实患有疾病时,我们将疾病预测为是的情况。
  • 真阴性(TNs):当我们现在预测疾病时,患者实际上没有疾病。
  • 假阳性(FPs):当患者实际上没有疾病时,我们将疾病预测为是。FPs也被视为I类错误。
  • 假阴性(FN):当我们预测疾病为否时,患者实际上患有该疾病。FN也被视为II型错误。

精度(P):当预测“是”时,正确的频率是多少?

曲线下面积(ROC)

曲线下面积(ROC):用于绘制真阳性率(TPR)和假阳性率(FPR)之间的接收器工作特征曲线,也称为灵敏度和1特异性图



曲线下面积用于设置截止概率的阈值,以将预测概率分类为各种类别。

R平方(决定系数)

R平方(决定系数):这是由amodel解释的响应变量变化百分比的度量。它还衡量了与仅使用平均值作为估计值相比,模型将误差最小化的程度。在某些极端情况下,R平方的值也可能小于零,这意味着模型中的预测值比仅将简单平均值作为所有观测值的预测值表现更差。我们将在接下来的章节中详细研究这个参数。


调整后的R平方

调整后的R平方:调整后的R平方统计的解释几乎与R平方相同,但它会惩罚R平方如果模型中包含没有强相关性的额外变量。


最大似然估计(MLE)

最大似然估计(MLE):这是通过找到使观察结果的可能性最大化的参数值来估计统计模型的参数值(准确地说是逻辑回归)。

Akaike信息准则(AIC)

kaike信息准则(AIC):这用于逻辑回归,类似于线性回归的调整R平方原理。它测量给定数据集的模型的相对质量。


熵(Entropy)

熵:来自信息论,是数据不完整性的度量。如果样本完全均匀,则熵为零,如果样本等分,则熵为1。在决策树中,异质性最大的预测器将被视为最接近根节点,以贪婪模式将给定数据分类。



这里,n=类数。熵在中间最大,值为1,在极端情况下最小为0。较低的熵值是可取的,因为它将更好地隔离类。


信息增益

信息增益:这是根据给定属性对示例进行分区所导致的熵的预期减少。其思想是从混合类开始,并保持分区,直到每个节点重新获得对最纯类的观察。

基尼(Gini)

基尼:基尼杂质是一种误分类度量,适用于多类分类器上下文。基尼与熵的作用几乎相同,只是基尼的计算速度更快。



这里,i=类数。基尼和熵之间的相似性如下所示



# Hypothesis testing

xbar = 990; mu0 = 1000; s = 12.5 ; n = 30
t_smple = (xbar - mu0)/(s/sqrt(n));print (round(t_smple,2))

alpha = 0.05
t_alpha = qt(alpha,df= n-1);print (round(t_alpha,3))

p_val = pt(t_smple,df = n-1);print (p_val)



# Normal Distribution
xbar = 67; mu0 = 52; s = 16.3

# Normal distribution
# P (Z >= (x-mu)/sigma) 
# F(x) = P(X <= x)
pr = 1- pnorm(67, mean=52, sd=16.3)
print(paste("Prob. to score more than 67 is ",round(pr*100,2),"%"))



# Chi-square independence test
survey = read.csv("survey.csv",header=TRUE)

tbl = table(survey$Smoke,survey$Exer)
p_val = chisq.test(tbl)

print(paste("P-value is :",round(p_val$p.value,3)))


#ANOVA
fetilizers = read.csv("Data/fetilizers.csv",header=TRUE)

# Concatenate data rows into single vector
r = c(t(as.matrix(fetilizers)))
f = c("fertilizer1","fertilizer2","fertilizer3")
k = 3; n = 6

tm = gl(k,1,n*k,factor(f))
blk = gl(n,k,k*n)
av = aov(r ~ tm + blk)

smry = summary(av)
print(smry)


效果如下:


关注R小盐,关注科研私家菜(VX_GZH: SciPrivate),有问题请联系R小盐。让我们一起来学习 R语言机器学习与临床预测模型

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容