数学には、代数、分析、トポロジーなどの分岐があります。機械学習には、教師あり、教師なし、強化学習があります。これらの各ブランチ内には、メソッドをさらに分割するより細かいブランチがあります。
統計との類似点を描くことができません。統計(およびサブブランチ)の主要なブランチは何ですか?完全なパーティションはおそらく不可能ですが、大きな空白のマップよりも優れています。
数学には、代数、分析、トポロジーなどの分岐があります。機械学習には、教師あり、教師なし、強化学習があります。これらの各ブランチ内には、メソッドをさらに分割するより細かいブランチがあります。
統計との類似点を描くことができません。統計(およびサブブランチ)の主要なブランチは何ですか?完全なパーティションはおそらく不可能ですが、大きな空白のマップよりも優れています。
回答:
これらの分類システムは非常に役に立たず矛盾しています。例えば:
等々。数学の明確な「分岐」はなく、統計もありません。
これは、Rob Hyndmanの答えに対する小さな反論です。コメントとして始まり、それから複雑になりすぎました。これが主な質問に対処するにはあまりにも遠すぎる場合、私は謝罪し、削除します。
生物学は、ダーウィンの最初の落書きのずっと前から階層関係を描いてきました(リンクについては、ニックコックスのコメントを参照してください)。ほとんどの進化的関係は、このタイプのきれいで枝分かれした「系統樹」で示されています。
しかし、最終的に、生物学はこれよりも厄介であることに気付きました。時折、異なる種と、ツリーのある部分に存在する遺伝子との間の遺伝的交換が(交配や他のプロセスを介して)ツリーの別の部分に「ジャンプ」します。水平方向の遺伝子導入は、上記の単純なツリー表現を不正確にする方法で遺伝子を動かします。ただし、ツリーを放棄するのではなく、このタイプの視覚化に変更を加えただけです。
これを追跡するのは難しいですが、現実のより正確な状況を伝えます。
もう一つの例:
ただし、これらの基本的な概念を理解せずに把握するのは難しいため、これらのより複雑な図を最初に紹介することはありません。その代わりに、単純な図で基本的な考え方を教え、その後、より複雑な図とストーリーの新しい複雑さをそれらに示します。
同様に、統計の「マップ」は不正確であり、貴重な教育ツールです。OPが示唆する形式の視覚化は、学生にとって非常に有用であり、現実を完全に把握できないという理由だけで無視すべきではありません。基本的なフレームワークが整ったら、写真に複雑さを追加できます。
Cross Validated Webサイトのキーワード/ タグを調べることができます。
これを行う1つの方法は、キーワード間の関係(同じ投稿内で一致する頻度)に基づいてネットワークとしてプロットすることです。
このsql-scriptを使用して、サイトのデータを(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 ="")
StackExchangeStrikeによって書かれました。
質問に答える簡単な方法は、一般的な分類表を調べることです。たとえば、一部の出版物では、2010数学主題分類を使用して論文を分類しています。これらは、多くの著者が自分の論文を分類する方法であるため、関連しています。
同様の分類の多くの例があります。たとえば、arxivの分類や、すべての出版物や研究に広く使用されているロシア教育省のUDK(Universal Decimal Classifictaion)です。
別の例は、米国経済協会のJEL分類システムです。Rob Hyndmanの論文「自動時系列予測:Rの予測パッケージ」JELによると、C53、C22、C52に分類されます。Hyndmanには、ツリーの分類を批判する点があります。より良いアプローチはタグ付けです。たとえば、彼の論文のキーワードは「ARIMAモデル、自動予測、指数平滑化、予測間隔、状態空間モデル、時系列、R」です。階層的ではなく、複数の階層を構築できるため、これらは論文を分類するより良い方法であると主張することができます。
@whuberは、機械学習などのいくつかの最新の進歩が現在の分類の統計の下にないことを指摘しました。たとえば、Catherine F. Higham、Desmond J. Higham の論文「Deep Learning:An Introduction to Applied Mathematicians」をご覧ください。彼らは、前述のMSCの下で彼らの論文を97R40、68T01、65K10、62M45として分類しました。これらは、統計に加えて、コンピューターサイエンス、数学教育、数値解析の対象です
この問題に取り組む1つの方法は、統計学ジャーナル、Biometrika、JASA、JRSS-Bなどの統計ジャーナルで引用ネットワークと共著ネットワークを調べることです。これは以下によって行われました:
Ji、P.、&Jin、J.(2016)。統計学者向けの共著および引用ネットワーク。応用統計学、10(4)、1779-1812。
彼らは統計学者のコミュニティを特定し、ドメインの理解を使用して、コミュニティに次のラベルを付けました
この論文には、コミュニティの詳細な議論と、より大きなコミュニティのさらなるサブコミュニティへの分解が含まれています。
これは質問に完全に答えているとは限りません。なぜなら、もはや活動していない分野を含むすべての分野ではなく、統計学者の研究分野に関するからです。それでもうまくいけば、それが役立っています。もちろん、他の警告(これらの4つのジャーナルのみを考慮するなど)があります。
多くの驚くべき答えがあり、謙虚な自作分類がどのように受け取られるかわかりませんが、要約を示すすべての統計の包括的な本は知りません、@ mktは、コメントを寄せてくれました。研究分野の分類が役立つことがあります。だから、ここに私のショットがあります:
もちろん、これは過度に単純化されており、フィールドをほとんど知らない人にアイデアを直接伝えることを目的としています。あまり有名ではないか、単に忘れてしまったためにリストします。あなたがそれを好き願っています。
この情報を整理する1つの方法は、良い本を見つけて目次を調べることです。あなたが統計について具体的に尋ねたので、これはパラドックスです。一方、トピックに関するほとんどの入門的な大学院レベルのテキストは統計と確率理論を一緒にしています。現在、回帰について読んでいる本には、次の目次があります。
バイナリデータモデル
一般回帰モデル
(残りのセクションは数学と確率理論をサポートしています)