在数学中,存在诸如代数,分析,拓扑等分支。在机器学习中,有监督,无监督和强化学习。在每个分支中,都有更精细的分支,这些分支进一步划分了方法。
我在绘制统计数据方面遇到麻烦。统计学的主要分支(和分支)是什么?不可能有一个完美的分区,但是有什么比大空白图更好的了。
在数学中,存在诸如代数,分析,拓扑等分支。在机器学习中,有监督,无监督和强化学习。在每个分支中,都有更精细的分支,这些分支进一步划分了方法。
我在绘制统计数据方面遇到麻烦。统计学的主要分支(和分支)是什么?不可能有一个完美的分区,但是有什么比大空白图更好的了。
Answers:
我发现这些分类系统极其无助且自相矛盾。例如:
等等。没有明确的数学“分支”,也没有统计学。
这与Rob Hyndman的回答是次要的对立。它以评论开始,然后变得过于复杂。如果这还不能解决主要问题,我深表歉意并将其删除。
早在达尔文(Darwin)第一次涂鸦之前,生物学就一直在描述等级关系(请参阅Nick Cox的评论以获取链接)。大多数进化关系仍显示为这种类型的,清晰的,分支的“系统进化树”:
但是,我们最终意识到生物学比这更混乱。有时,存在于树的一部分“跳跃”到树的另一部分中的不同物种和基因之间(通过杂交和其他过程)发生了遗传交换。水平基因转移以使上面的简单树形图不准确的方式来移动基因。但是,我们没有放弃树木,而只是对这种类型的可视化进行了修改:
这很难遵循,但是它传达了更准确的现实情况。
另一个例子:
但是,我们从不介绍这些更复杂的数字,因为如果不了解基本概念就很难掌握它们。取而代之的是,我们以简单的图形来教授基本概念,然后以更复杂的图形和较新的故事形式为他们呈现。
同样,任何统计“地图”都是不准确且有价值的教学工具。OP建议形式的可视化对学生非常有用,不应仅仅因为它们无法完全捕捉现实而被忽略。一旦有了基本框架,我们就可以增加图片的复杂性。
您可以查看“交叉验证”网站的关键字/ 标签。
一种实现方法是根据关键字之间的关系(它们在同一帖子中重合的频率)将其绘制为网络。
当您使用此sql脚本从(data.stackexchange.com/stats/query/edit/1122036)获取网站的数据时
select Tags from Posts where PostTypeId = 1 and Score >2
然后,您将获得所有得分为2或更高的问题的关键字列表。
您可以通过绘制以下内容来探索该列表:
更新:颜色相同(基于关系矩阵的特征向量),并且没有自学习标签
您可以进一步清理该图(例如,删除与统计概念无关的标签,例如软件标签,在上图中,这已经针对“ r”标签完成了),并改善了视觉效果,但我想上面的图像已经显示了一个不错的起点。
R代码:
#the sql-script saved like an sql file
network <- read.csv("~/../Desktop/network.csv", stringsAsFactors = 0)
#it looks like this:
> network[1][1:5,]
[1] "<r><biostatistics><bioinformatics>"
[2] "<hypothesis-testing><nonlinear-regression><regression-coefficients>"
[3] "<aic>"
[4] "<regression><nonparametric><kernel-smoothing>"
[5] "<r><regression><experiment-design><simulation><random-generation>"
l <- length(network[,1])
nk <- 1
keywords <- c("<r>")
M <- matrix(0,1)
for (j in 1:l) { # loop all lines in the text file
s <- stringr::str_match_all(network[j,],"<.*?>") # extract keywords
m <- c(0)
for (is in s[[1]]) {
if (sum(keywords == is) == 0) { # check if there is a new keyword
keywords <- c(keywords,is) # add to the keywords table
nk<-nk+1
M <- cbind(M,rep(0,nk-1)) # expand the relation matrix with zero's
M <- rbind(M,rep(0,nk))
}
m <- c(m, which(keywords == is))
lm <- length(m)
if (lm>2) { # for keywords >2 add +1 to the relations
for (mi in m[-c(1,lm)]) {
M[mi,m[lm]] <- M[mi,m[lm]]+1
M[m[lm],mi] <- M[m[lm],mi]+1
}
}
}
}
#getting rid of < >
skeywords <- sub(c("<"),"",keywords)
skeywords <- sub(c(">"),"",skeywords)
# plotting connections
library(igraph)
library("visNetwork")
# reduces nodes and edges
Ms<-M[-1,-1] # -1,-1 elliminates the 'r' tag which offsets the graph
Ms[which(Ms<50)] <- 0
ww <- colSums(Ms)
el <- which(ww==0)
# convert to data object for VisNetwork function
g <- graph.adjacency(Ms[-el,-el], weighted=TRUE, mode = "undirected")
data <- toVisNetworkData(g)
# adjust some plotting parameters some
data$nodes['label'] <- skeywords[-1][-el]
data$nodes['title'] <- skeywords[-1][-el]
data$nodes['value'] <- colSums(Ms)[-el]
data$edges['width'] <- sqrt(data$edges['weight'])*1
data$nodes['font.size'] <- 20+log(ww[-el])*6
data$edges['color'] <- "#eeeeff"
#plot
visNetwork(nodes = data$nodes, edges = data$edges) %>%
visPhysics(solver = "forceAtlas2Based", stabilization = TRUE,
forceAtlas2Based = list(nodeDistance=70, springConstant = 0.04,
springLength = 50,
avoidOverlap =1)
)
我认为,上述类型的网络图与对纯分支层次结构的一些批评有关。如果您愿意,我想您可以执行分层群集以将其强制为分层结构。
以下是这种分层模型的示例。仍然需要为各个集群找到合适的组名(但是,我认为这种分层集群并不是一个好的方向,因此我将其保留为开放状态)。
通过反复试验发现了聚类的距离度量(进行调整,直到聚类看起来不错为止。
#####
##### cluster
library(cluster)
Ms<-M[-1,-1]
Ms[which(Ms<50)] <- 0
ww <- colSums(Ms)
el <- which(ww==0)
Ms<-M[-1,-1]
R <- (keycount[-1]^-1) %*% t(keycount[-1]^-1)
Ms <- log(Ms*R+0.00000001)
Mc <- Ms[-el,-el]
colnames(Mc) <- skeywords[-1][-el]
cmod <- agnes(-Mc, diss = TRUE)
plot(as.hclust(cmod), cex = 0.65, hang=-1, xlab = "", ylab ="")
回答问题的一种简单方法是查找通用分类表。例如,一些出版物使用2010年数学学科分类对论文进行分类。这些是相关的,因为这就是许多作者对自己的论文进行分类的方式。
类似分类的例子很多,例如arxiv的分类或俄罗斯教育部的UDK(通用十进制分类),已广泛用于所有出版物和研究中。
另一个例子是美国经济协会的JEL认证制度。Rob Hyndman的论文“ 自动时间序列预测:R的预测包 ”。根据JEL的分类为C53,C22,C52。Hyndman在批评树的分类上有一点。更好的方法是标记,例如他的论文中的关键词是:“ ARIMA模型,自动预测,指数平滑,预测间隔,状态空间模型,时间序列,R。” 有人可能会说,这是对论文进行分类的更好方法,因为它们不是层次结构,可以建立多个层次结构。
@whuber提出了一个很好的观点,即机器学习等一些最新进展将不在当前分类的统计范围之内。例如,看看Catherine F. Higham,Desmond J. Higham撰写的论文“ 深度学习:应用数学家入门 ”。他们根据上述MSC将论文分类为97R40、68T01、65K10、62M45。除统计资料外,还包括计算机科学,数学教育和数值分析
解决该问题的一种方法是查看统计期刊(例如,统计年鉴,Biometrika,JASA和JRSS-B)中的引文和共同作者网络。这是通过以下方式完成的:
Ji,P.,&Jin,J.(2016年)。统计人员的共同作者和引文网络。应用统计年报,10(4),1779-1812。
他们确定了统计学家社区,并利用他们的领域理解将社区标记为:
本文包括对社区的详细讨论,以及将更大的社区分解为更多的子社区。
这可能无法完全回答问题,因为它涉及的是统计学家研究领域,而不是所有领域,包括不再活跃的领域。希望它还是有帮助的。当然,还有其他警告(例如仅考虑这四种期刊),本文将对此进行进一步讨论。
我看到了许多惊人的答案,而且我不知道如何收到一个卑微的自制分类,但是我不知道任何包含所有统计数据的综合性书籍来显示摘要,我确实认为,@ mkt大胆地评论说,研究领域的分类可能会有用。所以,这是我的镜头:
当然,这过于简单化,仅是为了向几乎不了解该领域的人直接提出一些想法,我们这里的每个人当然都知道在这里的类别之间有很多方法,我没有其他很多方法。列出原因是因为它们的知名度较低,或者因为我只是忘记了。希望你喜欢。
组织此信息的一种方法是找到一本好书并查看目录。这是一个悖论,因为您专门询问了统计问题,而与此主题相关的大多数研究生入门级教科书则同时涉及统计学和概率论。我正在阅读的有关回归的书现在具有以下目录:
二进制数据模型
一般回归模型
(其余部分支持数学和概率论)