Ⅰ 有哪些關於 R 語言的書值得推薦
數據挖掘與R語言
本書首先簡要介紹了R軟體的基礎知識(安裝、R數據結構、R編程、R的輸入和輸出等)。然後通過四個數據挖掘的實際案例 (藻類頻率的預測、證券趨勢預測和交易系統模擬、交易欺詐預測、微陣列數據分類)介紹數據挖掘技術。這四個案例基本覆蓋了常見的數據挖掘技術,從無監督的 數據挖掘技術、有監督的數據挖掘技術到半監督的數據挖掘技術。全書以實際問題、解決方案和對解決方案的討論為主線來組織內容,脈絡清晰,並且各章自成體 系。讀者可以從頭至尾逐章學習,也可以根據自己的需要進行學習,找到自己實際問題的解決方案。
本書不需要讀者具備R和數據挖掘的基礎知識。不管是R初學者,還是熟練的R用戶都能從書中找到對自己有用的內容。讀者既可以把本書作為學習如何應用R的一本優秀教材,也可以作為數據挖掘的工具書。
機器學習:實用案例解析
機器學習是計算機科學和人工智慧中非常重要的一個研究領域,近年來,機器學習不但在計算機科學的眾多領域中大顯身手,而且成為一些交叉學科的重要支撐技 術。本書比較全面系統地介紹了機器學習的方法和技術,不僅詳細闡述了許多經典的學習方法,還討論了一些有生命力的新理論、新方法。
全書案例既有分類問題,也有回歸問題;既包 含監督學習,也涵蓋無監督學習。本書討論的案例從分類講到回歸,然後討論了聚類、降維、最優化問題等。這些案例包括分類:垃圾郵件識別,排序:智能收件 箱,回歸模型:預測網頁訪問量,正則化:文本回歸,最優化:密碼破解,無監督學習:構建股票市早閉鄭場指數,空間相似度:用投票記錄對美國參議員聚類,推薦系 統:給用戶推薦R語言包,社交網路分析:在Twitter上感興趣的人,模型比較:給你的問題找到最佳演算法。各章對原理的敘述力求概陸頌念清晰、表達准確,突 出理論聯系實際,富有啟發性,易於理解。在探索這些案例的過程中用到的基本工具就是R統計編程語言。R語言非常適合用於機器學習的案例研究,因為它是一種 用於數據分析的高水平、功能性腳本語言。
R語言經典實例
本書涵蓋200多個R語言實用方法,可以幫助讀者快速而有效地使用R進行數據分析。R語言給我們提供了統計分析酣一切工具,但是R本身的結 構可能有些難於掌握。本書提供的這些面向任務、簡明的R語言方法包含了從基本的分析任務到輸入和輸出、常用統計分析、繪圖、線性回歸等內容,它們可以讓你 馬上應用R高效地工作。
每一個R語言方法都專注於一個特定的問題,隨後的討論則對問題的解決方案給出解釋,並闡釋該方法的工作機理。對於R的初級用戶,《R語言經典實例》將幫助 你步入R的殿堂;對於R的資深用戶,本書將加深你對R的理解並拓展你的視野。通過本書,你可以使你的分析工作順利完成並學習更多R語言知識。本書由蒂特 著。
R語言編程藝術
R語言是世界上最流行的用於數據態吵處理和統 計分析的腳本語言。考古學家用它來跟蹤古代文明的傳播,醫葯公司用它來探索哪種葯物更安全、更有效,精算師用它評估金融風險以保證市場的平穩運行。總之, 在大數據時代,統計數據、分析數據都離不開計算機軟體的支持,在這方面R語言尤其出色。
本書將帶領你踏上R語言軟體開發之旅,從最 基本的數據類型和數據結構開始,到閉包、遞歸和匿名函數等高級主題,由淺入深,講解細膩,讀者完全不需要統計學的知識,甚至不需要編程基礎。而書中提到的 很多高級編程技巧,都是作者多年編程經驗的總結,對有經驗的開發者也大有裨益。本書精選了44個擴展案例,這些案例都源自於作者親身參與過的咨詢項目,都 是與數據分析相關的,生動展示了R語言在統計學中的高效應用。
金融數據分析導論:基於R語言
本書由統計學領域著名專家Ruey S. Tsay(蔡瑞胸)所著,從基本的金融數據出發,討論了這些數據的匯總統計和相關的可視化方法,之後分別介紹了商業、金融和經濟領域中的基本時間序列分析和計量經濟模型。
時間序列分析及應用:R語言(原書第2版)
本書以易於理解的方式講述了時間序列模型及其應用,主要內容包括:趨勢、平穩時間序列模型、非平穩時間序列模 型、模型識別、參數估計、模型診斷、預測、季節模型、時間序列回歸模型、異方差時間序列模型、譜分析入門、譜估計、門限模型.對所有的思想和方法,都用真 實數據集和模擬數據集進行了說明。
本書可作為高等院校統計、經濟、商科、工程及定量社會科學等專業學生的教材或教學參考書,同時也可供相關技術人員使用。
Ⅱ 涓や釜y涓涓獂r璇璦濡備綍琛ㄧず
璇ヨ偂宸查櫎鏉冦倄r璇璦琛ㄧず璇ヨ偂宸查櫎鏉冿紝璐涔拌繖鏍風殑鑲$エ鍚庡皢涓嶅啀浜鏈夊垎綰㈢殑鏉冨埄銆傝璦錛屾槸浜虹被榪涜屾矡閫氫氦嫻佺殑琛ㄨ揪鏂瑰紡錛岃璦鏄姘戞棌鐨勯噸瑕佺壒寰佷箣涓銆
Ⅲ R語言里的一個語句不明白啥意思
在quantmod包裡面;
getSymbols(Symbols = NULL,
env = parent.frame(),
reload.Symbols = FALSE,
verbose = FALSE,
warnings = TRUE,
src = "yahoo",
symbol.lookup = TRUE,
auto.assign = getOption('getSymbols.auto.assign',TRUE),
...)
auto.assign=F表示不自動賦值;需要手動指定變數去存儲數據。否則就是自動賦值給Symbols變數。
Ⅳ 機器學習有哪些演算法
樸素貝葉斯分類器演算法是最受歡迎的學習方法之一,按照相似性分類,用流行的貝葉斯概率定理來建立機器學習模型,特別是用於疾病預測和文檔分類。 它是基於貝葉斯概率定理的單詞的內容的主觀分析的簡單分類。
什麼時候使用機器學習演算法 - 樸素貝葉余手斯分類器?
(1)如果您有一個中等或大的訓練數據集。
(2)如果實例具有幾個屬性。
(3)給定分類參數,描述實例的屬性應該是條件獨立的。
A.樸素貝葉斯分類器的應用
(1)這些機器學習演算法有助於在不確定性下作出決策,並幫助您改善溝通,因為他們提供了決策情況的可視化表示。
(2)決策樹機器學習演算法幫助數據科學家捕獲這樣的想法:如果採取了不同的決策,那麼情境或模型的操作性質將如何劇烈變化。
(3)決策樹演算法通過允許數據科學家遍歷前向和後向計算路徑來幫助做出最佳決策。
C.何時使用決策樹機器學習演算法
(1)決策樹對錯誤是魯棒的,並且如果訓練數據包含錯誤,則決策樹演算法將最適合於解決這樣的問題。
(2)決策樹最適合於實例由屬性值對表示的問題。
(3)如果訓練數據具有缺失值,則可以使用決策樹,因為它們可以通過查看其他列中的數據來很好地處理丟失的值。
(4)當目標函數具有離散輸出值時,決策樹是最適合的。
D.決策樹的優點
(1)決策樹是非常本能的,可以向任何人輕松解釋。來自非技術背景的人,也可以解釋從決策樹繪制的假設,因為他們是不言自明的。
(2)當使用決策樹機器學習演算法時,數據類型不是約束,因為它們可以處理分類和數值變數。
(3)決策樹機器學習演算法不需要對數據中的線性進行任何假設,因此可以在參數非線性相關的情況下使用。這些機器學習演算法不對分類器結構和空間分布做出任何假設。
(4)這些演算法在數據探索中是有用的。決策樹隱式執行特徵選擇,這在預測分析中非常重要。當決策樹適合於訓練數據集時,在其上分割決策樹的頂部的節點被認為是給定數據集內的重要變數,並且默認情況下完成特徵選擇。
(5)決策樹有助於節省數據准備時間,因為它們對缺失值和異常值不敏感。缺少值不會阻止您拆分構建決策樹的數據。離群值也不會影響決策樹,因為基於分裂范圍內的一些樣本而不是准確的絕對值發生數據分裂。
E.決策樹的缺點
(1)樹中決策的數量越多,任何預期結果的准確性越小。
(2)決策樹機器學習演算法的主要缺點是結果可能基於預期。當實時做出決策時,收益和產生的結果可能與預期或計劃不同。有機會,這可能導致不現實的決策樹導致錯誤的決策。任何不合理的期望可能導致決策樹分析中的重大錯誤和缺陷,因為並不總是可能計劃從決策可能產生的所有可能性。
(3)決策樹不適合連續變數,並導致不穩定性和分類高原。
(4)與其他決策模型相比,決策樹很容易使用,但是創建包含幾個分支的大決策樹是一個復雜和耗時的任務。
(5)決策樹機器學習演算法一次只考慮一個屬性,並且可能不是最適合於決策空間中的實際數據。
(6)具有多個分支的大尺寸決策樹是不可理解的,並且造成若干呈現困難。
F.決策樹機器學習演算法的應用
(1)決策樹是流行的機器學習演算法之一,它在財務中對期權定價有很大的用處。
(2)遙感是基於決策樹的模式識別的應用領域。
(3)銀行使用決策樹演算法按貸款申請人違約付款的概率對其進行分類。
(4)Gerber產品公司,一個流行的嬰兒產品公司,使用決策樹機器學習演算法來決定他們是否應繼續使用塑料PVC(聚氯乙烯)在他們的產品。
(5)Rush大學醫學中心開發了一個名為Guardian的工具,它使用決策樹機器學習演算法來識別有風險的患者和疾病趨勢。
Python語言中的數據科學庫實現決策樹機器學習演算法是 - SciPy和Sci-Kit學習。
R語言中的數據科學庫實現決策樹機器學習演算法是插入符號。
3.7 隨機森林機器學習演算法
讓我們繼續我們在決策樹中使用的同樣的例子,來解釋隨機森林機器學習演算法如何工作。提利昂是您的餐廳偏好的決策樹。然而,提利昂作為一個人並不總是准確地推廣你的餐廳偏好。要獲得更准確的餐廳推薦,你問一對夫婦的朋友,並決定訪問餐廳R,如果大多數人說你會喜歡它。而不是只是問Tyrion,你想問問Jon Snow,Sandor,Bronn和Bran誰投票決定你是否喜歡餐廳R或不。這意味著您已經構建了決策樹的合奏分類器 - 也稱為森林。
你不想讓所有的朋友給你相同的答案 - 所以你提供每個朋友略有不同的數據。你也不確定你的餐廳偏好,是在一個困境。你告訴提利昂你喜歡開頂屋頂餐廳,但也許,只是因為它是在夏天,當你訪問的餐廳,你可能已經喜歡它。在寒冷的冬天,你可能不是餐廳的粉絲。因此,所有的朋友不應該利用你喜歡打開的屋頂餐廳的數據點,以提出他們的建議您的餐廳偏好。
通過為您的朋友提供略微不同的餐廳偏好數據,您可以讓您的朋友在不同時間向您詢問不同的問題。在這種情況下,只是稍微改變你的餐廳偏好,你是注入隨機性在模型級別(不同於決策樹情況下的數據級別的隨機性)。您的朋友群現在形成了您的餐廳偏好的隨機森林。
隨機森林是一種機器學習演算法,它使用裝袋方法來創建一堆隨機數據子集的決策樹。模型在數據集的隨機樣本上進行多次訓練,以從隨機森林演算法中獲得良好的預測性能。在該整體學習方法中,將隨機森林中所有決策樹的輸出結合起來進行最終預測。隨機森林演算法的最終預測通過輪詢每個決策樹的結果或者僅僅通過使用在決策樹中出現最多次的預測來導出。
例如,在上面的例子 - 如果5個朋友決定你會喜歡餐廳R,但只有2個朋友決定你不會喜歡的餐廳,然後最後的預測是,你會喜歡餐廳R多數總是勝利。
A.為什麼使用隨機森林機器學習演算法?
(1)有很多好的開源,在Python和R中可用的演算法的自由實現。
(2)它在缺少數據時保持准確性,並且還能抵抗異常值。
(3)簡單的使用作為基本的隨機森林演算法可以實現只用幾行代碼。
(4)隨機森林機器學習演算法幫助數據科學家節省數據准備時間,因為它們不需要任何輸入准備,並且能夠處理數字,二進制和分類特徵,而無需縮放,變換或修改。
(5)隱式特徵選擇,因為它給出了什麼變數在分類中是重要的估計。
B.使用隨機森林機器學習演算法的優點
(1)與決策樹機器學習演算法不同,過擬合對隨機森林不是一個問題。沒有必要修剪隨機森林。
(2)這些演算法很快,但不是在所有情況下。隨機森林演算法當在具有100個變數的數據集的800MHz機器上運行時,並且50,000個案例在11分鍾內產生100個決策樹。
(3)隨機森林是用於各種分類和回歸任務的最有效和通用的機器學習演算法之一,因為它們對雜訊更加魯棒。
(4)很難建立一個壞的隨機森林。在隨機森林機器學習演算法的實現中,容易確定使用哪些參數,因為它們對用於運行演算法的參數不敏感。一個人可以輕松地建立一個體面的模型沒有太多的調整
(5)隨機森林機器學習演算法可以並行生長。
(6)此演算法在大型資料庫上高效運行。
(7)具有較高的分類精度。
C.使用隨機森林機器學習演算法的缺點
他們可能很容易使用,但從理論上分析它們是很困難的。
隨機森林中大量的決策樹可以減慢演算法進行實時預測。
如果數據由具有不同級別數量的分類變數組成,則演算法會偏好具有更多級別的那些屬性。 在這種情況下,可變重要性分數似乎不可靠。
當使用RandomForest演算法進行回歸任務時,它不會超出訓練數據中響應值的范圍。
D.隨機森林機器學習演算法的應用
(1)隨機森林演算法被銀行用來預測貸款申請人是否可能是高風險。
(2)它們用於汽車工業中以預測機械部件的故障或故障。
(3)這些演算法用於醫療保健行業以預測患者是否可能發展成慢性疾病。
(4)它們還可用於回歸任務,如預測社交媒體份額和績效分數的平均數。
(5)最近,該演算法也已經被用於預測語音識別軟體中的模式並對圖像和文本進行分類。
Python語言中的數據科學庫實現隨機森林機器學習演算法是Sci-Kit學習。
R語言的數據科學庫實現隨機森林機器學習演算法randomForest。
Ⅳ R語言怎麼把股票日收盤價轉換成對數收益率
知道一系列收盤價向量X,length=1000,求對數收益率的R語言代碼
acf(int[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
log return')
Box.test(int[,2], lag = 5, type = "Ljung-Box")
Box.test(int[,2], lag = 10, type = "Ljung-Box")
Box.test(int.l[,2], lag = 5, type = "Ljung-Box")
Box.test(int.l[,2], lag = 10, type = "Ljung-Box")
運行結錯誤辦
> int <- read.table("d-intc7208.txt", head=T)
錯誤於file(file, "rt") : 打鏈結
外: 警告信息:
In file(file, "rt") :
打文件'd-intc7208.txt': No such file or directory
+ acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
錯誤: 意外符號 in:
"
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int"
> log return')
錯誤: 意外符號 in "log return"
Ⅵ R璇璦閲戣瀺娉㈠姩鐜囧緩妯|鍩轟簬SGED鍒嗗竷鐨勫彉鍙傛暟ARIMA+EARCH鍔ㄦ侀勬祴妯″瀷鐨勭爺絀
閲戣瀺娉㈠姩鐜囩殑R璇璦鎺㈢儲錛歋GED鍒嗗竷椹卞姩鐨勫彉鍙傛暟ARIMA+EARCH鍔ㄦ侀勬祴妯″瀷璇﹁В</
鐢遍噾鋙嶇珵璧涜幏濂栬咃紝R璇璦涓撳墮綈紲ヤ細甯︽潵鐨勬繁搴︾爺絀訛紝浠栧皢涓撲笟鐭ヨ瘑搴旂敤浜庡疄鎴橈紝鎺㈢儲娌娣5鑲$殑鏃ユ敹鐩婄巼娉㈠姩鎬ч勬祴銆傛湰鏂囩殑鐒︾偣鍦ㄤ簬鏋勫緩涓涓鍒涙柊鐨勬ā鍨嬶紝鍗砈GED鍒嗗竷鏀鎸佺殑鍙樺弬鏁癆RIMA+EARCH鍔ㄦ侀勬祴妯″瀷錛屾棬鍦ㄦ彮紺鴻偂紲ㄦ敹鐩婄巼鐨勨滃皷宄板帤灝鋸濈壒鎬т笌闈炲圭О娉㈠姩銆
鏍稿績鐮旂┒</
鍦ㄦ繁鍏ョ爺絀朵腑錛屾垜浠鍙戠幇錛
鍦ㄧ悊璁烘敮鎸佹柟闈錛岀爺絀跺熼壌浜嗗備笅鐨勫︽湳鎴愭灉錛
榻愮ゥ浼氱殑榪欎竴緋誨垪鐮旂┒錛屼笉浠呮繁鍖栦簡鎴戜滑瀵歸噾鋙嶆嘗鍔ㄧ殑鐞嗚В錛屼篃涓烘姇璧勮呮彁渚涗簡綺懼噯鐨勯勬祴宸ュ叿錛屽姪鍔涗粬浠鍦ㄩ噾鋙嶅競鍦轟腑鎶婃彙鏈洪亣銆
Ⅶ 請問如何用R語言做大量次數的幾何布朗運動的模擬(參數μ,σ已知)
這上網搜應該搜的到吧,比如這篇文章"
股票價格行為關於幾何布朗運動的模擬--基於中國上證綜指的實證研究
",照著幾何布朗運動的公式直接寫代碼應該就行了吧,代碼邏輯都很清晰。
下面是照著這片文章模擬一次的代碼,模擬多次的話,外面再套個循環應該就行了。然後再根據均方誤差(一般用這個做准則的多)來挑最好的。
話說你的數據最好別是分鍾或者3s切片數據,不然R這速度和內存夠嗆。
N <- 2000 #模擬的樣本數
S0 <- 2000 #初始值
mu <- 0.051686/100
sigma <- 1.2077/100
St <- rep(0,N)
epsion <- rnorm(N,0,1) #正態分布隨機數
for(i in 1:N) {
if(i == 1) {
delta_St <- mu * S0 + sigma * S0 * epsion[i]
St[i] <- S0 + delta_St
}else {
delta_St <- mu * St[i-1] + sigma * St[i-1] * epsion[i]
St[i] <- St[i-1] + delta_St
}
}
Final_St <- c(S0,St) #最終結果
plot(Final_St,type = "l")