最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

拓端tecdat:matlab數(shù)據(jù)可視化交通流量分析天氣條件、共享單車時(shí)間序列數(shù)據(jù)matlab數(shù)據(jù)

2021-11-01 16:45 作者:拓端tecdat  | 我要投稿

?原文鏈接:http://tecdat.cn/?p=24121?

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

此示例說(shuō)明如何使用從傳感器獲得的數(shù)據(jù)分析共享單車交通模式,?來(lái)預(yù)處理帶時(shí)間戳的數(shù)據(jù)。數(shù)據(jù)來(lái)自傳感器。

此示例展示了如何執(zhí)行各種數(shù)據(jù)清理、調(diào)整和預(yù)處理任務(wù),例如刪除缺失值和同步具有不同時(shí)間步長(zhǎng)的時(shí)間戳數(shù)據(jù)。此外,突出顯示數(shù)據(jù)探索,包括使用timetable?數(shù)據(jù)容器的可視化和分組計(jì)算?:

  • 探索日常自行車交通

  • 將自行車交通與當(dāng)?shù)靥鞖鈼l件進(jìn)行比較

  • 分析一周中不同天數(shù)和一天中不同時(shí)間的自行車流量

將自行車交通數(shù)據(jù)導(dǎo)入時(shí)間表

從逗號(hào)分隔的文本文件中導(dǎo)入自行車交通數(shù)據(jù)示例。使用該head?函數(shù)顯示前八行?。

  1. head(bkTb)


數(shù)據(jù)有時(shí)間戳,方便使用時(shí)間表來(lái)存儲(chǔ)和分析數(shù)據(jù)。時(shí)間表類似于表,但包括與數(shù)據(jù)行關(guān)聯(lián)的時(shí)間戳。時(shí)間戳或行時(shí)間由datetime?或?duration?值表示?。?datetime?和?duration?分別是用于表示時(shí)間點(diǎn)或經(jīng)過(guò)時(shí)間的推薦數(shù)據(jù)類型。

轉(zhuǎn)換?為時(shí)間表?。您必須使用轉(zhuǎn)換函數(shù),因?yàn)?readtable?返回一個(gè)表。?行時(shí)間是標(biāo)記行的元數(shù)據(jù)。但是,當(dāng)您顯示時(shí)間表時(shí),行時(shí)間和時(shí)間表變量以類似的方式顯示。請(qǐng)注意,該表有五個(gè)變量,而時(shí)間表有四個(gè)。

tabe2tmeabe(biel);

訪問(wèn)時(shí)間和數(shù)據(jù)

Day?變量轉(zhuǎn)換?為分類變量。分類數(shù)據(jù)類型專為包含有限離散值集的數(shù)據(jù)而設(shè)計(jì),例如一周中的日期名稱。列出類別,以便它們按天順序顯示。使用點(diǎn)下標(biāo)按名稱訪問(wèn)變量。

在時(shí)間表中,時(shí)間與數(shù)據(jù)變量分開(kāi)處理。訪問(wèn)?Properties?時(shí)間表的 顯示行時(shí)間是時(shí)間表的第一維,變量是第二維。該?DimensionNames?屬性顯示兩個(gè)維度的名稱,而該?VariableNames?屬性顯示沿第二個(gè)維度的變量的名稱。

bkDta.Poetis

?

默認(rèn)情況下,??在將表轉(zhuǎn)換為時(shí)間表時(shí)table2timetable?指定?Timestamp為第一個(gè)維度名稱,因?yàn)檫@是原始表中的變量名稱。您可以通過(guò)?Properties.

將維度的名稱更改為?Time?和?Data。

DmesiNams = {'Time' 'Data'};

顯示時(shí)間表的前八行。

確定最晚和最早的行時(shí)間之間經(jīng)過(guò)的天數(shù)。一次引用一個(gè)變量時(shí),可以通過(guò)點(diǎn)表示法訪問(wèn)這些變量。

  1. lpsTie = max(bkeDa.Tme) - min(bkData.me)


要檢查特定日期的典型自行車數(shù)量,請(qǐng)計(jì)算自行車總數(shù)以及向西和向東行駛的數(shù)量的平均值。

通過(guò)對(duì)bikeData?使用大括號(hào)的內(nèi)容進(jìn)行索引,將數(shù)字?jǐn)?shù)據(jù)作為矩陣返回?。顯示前八行。使用標(biāo)準(zhǔn)表下標(biāo)訪問(wèn)多個(gè)變量。

  1. cs(1:8,)


由于均值僅適用于數(shù)值數(shù)據(jù),因此您可以使用該?vartype?函數(shù)來(lái)選擇數(shù)值變量。?vartype?比手動(dòng)索引到表或時(shí)間表以選擇變量更方便。計(jì)算平均值并忽略?NaN?值。


  1. mean(cots,'omitn')

按日期和時(shí)間選擇數(shù)據(jù)

要確定假期期間有多少人騎自行車,請(qǐng)檢查 7 月 4 日假期的數(shù)據(jù)。按? 7 月 4 日的行時(shí)間索引時(shí)間表。當(dāng)您索引行時(shí)間時(shí),必須完全匹配時(shí)間??梢詫r(shí)間索引指定為?datetime?或?duration?值,或者指定為可以轉(zhuǎn)換為日期和時(shí)間的字符向量。可以多次指定為數(shù)組。

bikeData?使用特定日期和時(shí)間進(jìn)行索引?以提取 7 月 4 日的數(shù)據(jù)。如果僅指定日期,則假定時(shí)間為午夜或 00:00:00。


  1. d = {'208:00:00','09:00:00'};

  2. bieDta(d,:)

使用這種策略來(lái)提取一整天會(huì)很麻煩。您還可以指定時(shí)間范圍而不對(duì)特定時(shí)間進(jìn)行索引。創(chuàng)建時(shí)間范圍下標(biāo),使用?timerange?函數(shù)。

使用? 7 月 4 日一整天的時(shí)間范圍在時(shí)間表中下標(biāo)。指定開(kāi)始時(shí)間為 7 月 4 日午夜,結(jié)束時(shí)間為 7 月 5 日午夜。默認(rèn)情況下,?timerange?涵蓋從開(kāi)始時(shí)間開(kāi)始的所有時(shí)間和直到但不包括結(jié)束時(shí)間。繪制一天中的自行車數(shù)量。

  1. jul4 = bikeData(tr,'Total');

  2. hea(jl4)



  3. bar(4Tie,jl4otl)

從圖中可以看出,全天成交量更大,下午趨于平穩(wěn)。由于許多企業(yè)都關(guān)門了,所以圖中沒(méi)有顯示通勤時(shí)間的典型交通情況。晚上晚些時(shí)候的峰值可歸因于在晚上的慶?;顒?dòng)。為了更仔細(xì)地檢查這些趨勢(shì),應(yīng)將數(shù)據(jù)與典型日子的數(shù)據(jù)進(jìn)行比較。

將 7 月 4 日的數(shù)據(jù)與 7 月其他時(shí)間的數(shù)據(jù)進(jìn)行比較。

  1. plot(jul.Time,ju.Toal)

  2. hold o

  3. plot(jl.Tme,ju4.otal)


該圖顯示了工作日和周末之間交通差異的變化。7 月 4 日和 5 日的交通模式與周末交通模式一致。通過(guò)進(jìn)一步的預(yù)處理和分析,可以更仔細(xì)地檢查這些趨勢(shì)。

預(yù)處理時(shí)間和數(shù)據(jù)使用?timetable

帶時(shí)間戳的數(shù)據(jù)集通常很混亂,可能包含異?;蝈e(cuò)誤。時(shí)間表非常適合解決異常和錯(cuò)誤。

時(shí)間表的行時(shí)間不必按任何特定順序排列。它可以包含未按行時(shí)間排序的行。時(shí)間表還可以包含具有相同行時(shí)間的多行,盡管這些行可以具有不同的數(shù)據(jù)值。即使行時(shí)間已排序且唯一,它們也可能因不同大小的時(shí)間步長(zhǎng)而不同。時(shí)間表甚至可以包含?NaT?或?NaN?值來(lái)指示缺失的行時(shí)間。

該?timetable?數(shù)據(jù)類型提供了許多不同的方式解決失蹤,復(fù)制或不均勻倍。您還可以重新采樣或匯總數(shù)據(jù)以創(chuàng)建?定期?時(shí)間表。當(dāng)時(shí)間表是規(guī)則的時(shí),它的行時(shí)間是經(jīng)過(guò)排序且唯一的,并且在它們之間具有統(tǒng)一或均勻區(qū)間的時(shí)間步長(zhǎng)。

  • 要查找缺失的行時(shí)間,請(qǐng)使用?ismissing.

  • 要?jiǎng)h除缺失的時(shí)間和數(shù)據(jù),請(qǐng)使用?rmmissing.

  • 要按行時(shí)間對(duì)時(shí)間表進(jìn)行排序,請(qǐng)使用?sortrows

  • 要生成具有唯一且已排序的行時(shí)間的時(shí)間表,請(qǐng)使用?unique?和?retime。

  • 要生成常規(guī)時(shí)間表,請(qǐng)指定均勻區(qū)間的時(shí)間向量并使用?retime。

按時(shí)間順序排序

確定時(shí)間表是否已排序。如果時(shí)間表的行時(shí)間按升序列出,則該時(shí)間表已排序。

  1. issorted(bikeData)


對(duì)時(shí)間表進(jìn)行排序。該?sortrows?函數(shù)按行時(shí)間對(duì)行進(jìn)行排序,從最早到最晚。如果存在具有重復(fù)行時(shí)間的行,則將?sortrows?所有重復(fù)項(xiàng)復(fù)制到輸出。

  1. bikeData = sortrows(bikeData);

  2. issorted(bikeData)


識(shí)別和刪除缺失的時(shí)間和數(shù)據(jù)

時(shí)間表的變量或其行時(shí)間中可能缺少數(shù)據(jù)指示符。例如,您可以將缺失的數(shù)值表示為?NaNs,將缺失的日期時(shí)間值表示為?NaTs。您可以分配,查找,刪除,并用填充缺失值?standardizeMissing,??ismissing,??rmmissing,和?fillmissing?功能。

查找并計(jì)算時(shí)間表變量中的缺失值。在此示例中,缺失值表示未收集數(shù)據(jù)的情況。

  1. ismssng(bieDa);

  2. sum(isata)

來(lái)自的輸出?ismissing?是一個(gè)?logical?矩陣,與表的大小相同,將缺失的數(shù)據(jù)值標(biāo)識(shí)為真。顯示缺少數(shù)據(jù)指示符的任何行。

any(misDta,2);

?

?僅查找時(shí)間表變量中的缺失數(shù)據(jù),而不是時(shí)間。要查找缺失的行時(shí)間,請(qǐng)調(diào)用?ismissing?時(shí)間。

ismisig(bikDa.time);

在本例中,缺失時(shí)間或數(shù)據(jù)值表示測(cè)量錯(cuò)誤,可以排除。使用 刪除表中包含缺失數(shù)據(jù)值和缺失行時(shí)間的行?rmmissing。

rmising(bieDaa);

miissing(ieDta.Time)

?

刪除重復(fù)的時(shí)間和數(shù)據(jù)

確定是否有重復(fù)的時(shí)間和/或重復(fù)的數(shù)據(jù)行。您可能希望排除重復(fù)項(xiàng),因?yàn)檫@些也可以被視為測(cè)量誤差。通過(guò)查找排序時(shí)間之間的差異恰好為零的位置來(lái)識(shí)別重復(fù)時(shí)間。

  1. idx = diff(biDat.Tme) == 0;

  2. dup = biDaime(idx)

重復(fù)三次, 11 月 19 日重復(fù)兩次。檢查與重復(fù)次數(shù)相關(guān)的數(shù)據(jù)。

第一個(gè)有重復(fù)的次數(shù)但沒(méi)有重復(fù)的數(shù)據(jù),而其他的則完全重復(fù)。當(dāng)時(shí)間表行在行中包含相同的行時(shí)間和相同的數(shù)據(jù)值時(shí),它們被視為重復(fù)。您可以使用?unique?刪除時(shí)間表中的重復(fù)行。該?unique?函數(shù)還按行時(shí)間對(duì)行進(jìn)行排序。

bkeata = unique(biketa);

具有重復(fù)時(shí)間但非重復(fù)數(shù)據(jù)的行需要一些解釋。檢查那些時(shí)間前后的數(shù)據(jù)。

在這種情況下,由于數(shù)據(jù)和周圍時(shí)間是一致的,因此重復(fù)時(shí)間可能是錯(cuò)誤的。雖然它似乎代表 01:00:00,但不確定這應(yīng)該是什么時(shí)間。可以累積數(shù)據(jù)以說(shuō)明兩個(gè)時(shí)間點(diǎn)的數(shù)據(jù)。

sum(Dta{dup(1),2:end})

這只是一種可以手動(dòng)完成的情況。但是,對(duì)于許多行,該?retime?函數(shù)可以執(zhí)行此計(jì)算。使用sum?聚合函數(shù)對(duì)唯一次數(shù)的數(shù)據(jù)進(jìn)行累加???偤瓦m用于數(shù)字?jǐn)?shù)據(jù),但不適用于時(shí)間表中的分類數(shù)據(jù)。使用?vartype?標(biāo)識(shí)數(shù)值變量。

您不能對(duì)分類數(shù)據(jù)求和,但由于一個(gè)標(biāo)簽代表一整天,因此取每一天的第一個(gè)值。您可以retime?使用相同的時(shí)間向量再次執(zhí)行?操作并將時(shí)間表連接在一起。


  1. cata = retme(ikat(:,vc,t,'frtvle');


檢查時(shí)間區(qū)間的均勻性

數(shù)據(jù)似乎具有一小時(shí)的統(tǒng)一時(shí)間步長(zhǎng)。要確定時(shí)間表中的所有行時(shí)間是否都如此,使用該?isregular?函數(shù)。?isregular?返回?true?有序的、均勻區(qū)間的時(shí)間(單調(diào)遞增),沒(méi)有重復(fù)或丟失的時(shí)間(NaT?或?NaN)。

0或?的輸出?false表明時(shí)間表中的時(shí)間區(qū)間不均勻。更詳細(xì)地探索時(shí)間區(qū)間。

[min(dt); max(dt)]

要將時(shí)間表置于固定時(shí)間區(qū)間,請(qǐng)使用?retime?或?synchronize?并指定感興趣的時(shí)間區(qū)間。

確定每日自行車量

使用該retime?函數(shù)確定每天的計(jì)數(shù)?。使用該sum?方法累積每天的計(jì)數(shù)數(shù)據(jù)?。這適用于數(shù)值數(shù)據(jù),但不適用于時(shí)間表中的分類數(shù)據(jù)。用于?vartype?按數(shù)據(jù)類型標(biāo)識(shí)變量。

如上所述,您可以retime?再次執(zhí)行?操作以使用適當(dāng)?shù)姆椒ū硎痉诸悢?shù)據(jù)并將時(shí)間表連接在一起。

  1. dantat = rtime(bkeat(:,vc),'dily','firtau');


?

比較自行車數(shù)量和天氣數(shù)據(jù)

通過(guò)將自行車數(shù)量與天氣數(shù)據(jù)進(jìn)行比較,檢查天氣對(duì)騎行行為的影響。加載天氣時(shí)間表,其中包括來(lái)自歷史天氣數(shù)據(jù),包括暴風(fēng)雨事件。

要匯總時(shí)間表中的時(shí)間和變量,請(qǐng)使用?summary?函數(shù)。

summary(wetherta)

使用 將自行車數(shù)據(jù)與天氣數(shù)據(jù)組合成一個(gè)時(shí)間向量?synchronize。您可以使用synchronize?重新采樣或聚合時(shí)間表數(shù)據(jù)?。

將兩個(gè)時(shí)間表中的數(shù)據(jù)同步到一個(gè)公共時(shí)間向量,該時(shí)間向量是從它們各自的每日時(shí)間向量的交集構(gòu)建的。

syhrone(dayout,wethrDta,'inseon';

比較單獨(dú) y 軸上的自行車交通數(shù)量和室外溫度來(lái)檢查趨勢(shì)。從數(shù)據(jù)中刪除周末進(jìn)行可視化。


  1. yyaxis left

  2. plot(wekata.Time, ekdaaa.Tol)

  3. yyaxis right

該圖顯示交通和天氣數(shù)據(jù)可能遵循類似的趨勢(shì)。

趨勢(shì)相似,表明在寒冷的日子里騎自行車的人更少。

按星期幾和一天中的時(shí)間分析

根據(jù)不同的時(shí)間區(qū)間(例如星期幾和一天中的時(shí)間)檢查數(shù)據(jù)。使用varfun?對(duì)變量執(zhí)行分組計(jì)算來(lái)確定每天的總計(jì)數(shù)?。sum?使用名稱-值對(duì)指定?具有函數(shù)句柄和分組變量和首選輸出類型的函數(shù)。

  1. bDa = varn(suket,'GpigVrles','Day',...

  2. 'Otpuoat''tale')



  3. fgue

  4. bar(by{:,{'smestund',sumEbound'}})

條形圖表示工作日的交通量較大。此外,東行和西行方向也有所不同。這可能表明人們?cè)谶M(jìn)出城市時(shí)往往會(huì)選擇不同的路線。另一種可能是,有些人一天進(jìn)去,另一天回來(lái)。

確定一天中的小時(shí)?varfun?用于按組計(jì)算。

  1. varn(@mean,bketa(:,{'Wesbund','Estund','HfDay'}),...

  2. 'GrunVabes','fDay','Outputrmat','te');



  3. bar(byr})

在典型的通勤時(shí)間(上午 9:00 和下午 5:00 左右)出現(xiàn)交通高峰。此外,東行和西行方向之間的趨勢(shì)不同。一般來(lái)說(shuō),西行方向是朝向地區(qū)周圍的住宅區(qū)和大學(xué)。東行方向是朝向市中心。

與東行方向相比,當(dāng)天晚些時(shí)候西行方向的交通量更大。由于該地區(qū)的餐館,這可能表明大學(xué)的時(shí)間表和交通。按星期幾和一天中的小時(shí)檢查趨勢(shì)。

  1. byra = varfun(@mikaa,'Grpiaibes',{'HOfDay','ay'},...

  2. 'OuutFort','tbl')

要安排時(shí)間表以便將一周中的幾天作為變量,請(qǐng)使用該?unstack?函數(shù)。

  1. hrnaWk = unstack(byD(:,{HrOfa','ay','u_Toal'),smTota','Da');

  2. ribbon(hrnaW)

周一至周五的正常工作日也有類似的趨勢(shì),高峰時(shí)段出現(xiàn)高峰,晚上交通逐漸減少。周五的交易量較少,但總體趨勢(shì)與其他工作日相似。周六和周日的趨勢(shì)彼此相似,沒(méi)有高峰時(shí)段,但在當(dāng)天晚些時(shí)候成交量更大。周一至周五的深夜趨勢(shì)也相似,周五成交量較少。

分析高峰時(shí)段的交通

要檢查一天中的總體時(shí)間趨勢(shì),請(qǐng)按高峰時(shí)間拆分?jǐn)?shù)據(jù)。使用discretize?可以使用一天中的不同時(shí)間或時(shí)間單位?。例如,將數(shù)據(jù)分成?AM、??AMRush、??Day、??PMRush、 的組?PM。然后用于?varfun?按組計(jì)算平均值。


  1. brBn = varfun(@mean,beData:{'Toa','HLbel'})','Hbel',...

  2. 'Otpuorat',le)


  3. bar(brBn.en)

一般來(lái)說(shuō),與一天中的其他時(shí)間相比,該區(qū)域在傍晚和早高峰時(shí)段的交通量大約是該區(qū)域的兩倍。該區(qū)域清晨車流量很少,但傍晚和深夜的車流量仍然很大,堪比早晚高峰時(shí)段以外的白天。

最受歡迎的見(jiàn)解

1.R語(yǔ)言動(dòng)態(tài)圖可視化:如何、創(chuàng)建具有精美動(dòng)畫的圖

2.TABLEAU的騎行路線地理數(shù)據(jù)可視化

3.用數(shù)據(jù)告訴你出租車資源配置是否合理

4.R語(yǔ)言GGMAP空間可視化機(jī)動(dòng)車交通事故地圖

5.用R語(yǔ)言制作交互式圖表和地圖

6.基于出租車GPS軌跡數(shù)據(jù)的研究:出租車行程的數(shù)據(jù)分析

7.R語(yǔ)言動(dòng)態(tài)可視化:制作歷史全球平均溫度的累積動(dòng)態(tài)折線圖動(dòng)畫gif視頻圖

8.把握出租車的數(shù)據(jù)脈搏

9.共享單車大數(shù)據(jù)報(bào)告


拓端tecdat:matlab數(shù)據(jù)可視化交通流量分析天氣條件、共享單車時(shí)間序列數(shù)據(jù)matlab數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
循化| 康保县| 石阡县| 麻江县| 日喀则市| 琼中| 榆林市| 金沙县| 惠东县| 疏附县| 岑巩县| 竹溪县| 自治县| 宾川县| 宾阳县| 日土县| 卢氏县| 扶沟县| 宜昌市| 蒙山县| 新津县| 通州市| 婺源县| 莱州市| 日土县| 杂多县| 济源市| 仁化县| 柘荣县| 宝清县| 扶余县| 织金县| 安宁市| 永春县| 玉林市| 尤溪县| 芮城县| 桐城市| 微博| 鸡东县| 临夏市|