wiki:AdvancedTopics

Version 4 (modified by 231151, 8 days ago) ( diff )

--

Transport Analytics Datacube

Explained

По консултациите со асистентот, заедно размисливме и ни беше предложено дека најдобра напредна тема за проект од ваков тип е datacube аналитика, бидејќи системот за јавен транспорт природно генерира огромни количини на податоци кои бараат повеќедимензионална анализа. Уште од самиот почеток, системот беше замислен не само да ги чува податоците за возења, постојки и патници, туку и активно да детектира проблеми во мрежата како на пример: кои линии се преполни, кои постојано доцнат, и каде треба да се воведе нова линија или почест автобус. Аналитиката е организирана по линија, постојка, месец, час во денот и тип на ден (работен/викенд). Поради ова, datacube пристапот се покажа како најсоодветна напредна тема, бидејќи со негова помош секоја линија, постојка и временски период автоматски добива статус и препорака директно во базата, без потреба од надворешна обработка. Наместо класични извештаи кои само прикажуваат историски податоци, системот е изграден околу принципот на активна детекција односно секој материјализиран поглед не само што групира податоци туку и носи конкретен заклучок директно во базата.

New Materialized Views

1. dim_time - Временска димензија

  • Генерира по еден ред за секој час во еден период. За секој час чува година, месец, име на месец, квартал, час од денот, дали е работен ден или викенд и дел од денот(наутро, попладне, вечер). Служи како заедничка референтна табела за временско групирање низ целиот datacube.

2. fact_transport - Факт табела за патувања

  • Секој ред во оваа табела е едно конкретно, реално патување што се случило, на пример "Автобус бр.17, на 15 јануари во 8:15 наутро, имал 23 патници, заработил 460 денари, доцнел 4 минути, бил 65% полн." Ако базата има 50.000 патувања, табелата има 50.000 редови — без групирање, без просеци меѓу патувања, чисто сирови податоци по патување. Ова е изворната табела од која се останато се пресметува.

3. mv_transport_cube - Главен datacube за анализа

  • Оваа табела не гледа поединечни патувања туку групи патувања, секој ред претставува сума/просек за одредена комбинација од категории (рута, месец, година, час, тип ден, time slot, статус), наместо едно патување. Ова се прави за сите можни комбинации од тие 7 категории, вклучувајќи и комбинации каде некои категории се празни.

4. mv_schedule_mismatch - Детекција на доцнење по линија и час

  • Со постепено собирање по рута, час и тип ден (прво по час, па вкупно по рута, па целосно вкупно) ги собира бројот на патувања, просечно и максимално доцнење, бројот и процентот на доцните патувања и доделува текстуален статус (критично, проблематично, умерено, ок) во зависност од просечното доцнење.

5. mv_overcrowding_analysis - Детекција на преполни линии

  • Групирано по рута, месец, час, тип ден и временски период, ги пресметува просечната пополнетост и најпополнетиот момент, бројот на патувања, колку биле преполни и колку над капацитет и генерира препорака (итно, препорачано, следи, ок) за тоа колку треба да се зголеми фреквенцијата.

6. mv_stop_demand - Побарувачка по постојка

  • За секоја постојка, групирана по месец, час и тип на ден, се брои бројот на патувања што минуваат низ неа, бројот на качувања и просечниот број патници. Врз основа на споредбата меѓу бројот на патувања и бројот на качувања, се доделува статус дали е потребна нова линија, заради поголема фреквенција, или се е во ред.

7. mv_ride_shift_detection - Детекција на преминување кон друга линија

  • За патувања што доцнат повеќе од 10 минути, го споредува реалниот број патници со просечниот број патници на истата рута и час кога нема доцнење, и пресметува процент на пад на патници. Ако падот е поголем од 20%, го означува статусот како веројатен ride shift (патниците преминале на друга линија/превоз).

8. mv_optimization_recommendations - Финален предлог за оптимизација

  • Ги комбинира mv_overcrowding_analysis и mv_schedule_mismatch за секоја комбинација рута/час/тип на ден, и генерира една крајна препорака: целосна ревизија ако линијата е и преполна и доцни, зголемување на фреквенцијата ако е само преполна, корекција на распоредот ако само доцни, или без итни препораки.

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.