rĪgas tehniskĀ universitĀte - web view skatīts 16.05.2015. [odod1]oracle database online...

70
RĪGAS TEHNISKĀ UNIVERSITĀTE Datorzinātnes un informācijas tehnoloģijas fakultāte Lietišķo datorsistēmu institūts Lietišķo datorzinātņu katedra Vadims Gališkins Datu analīzes programmu realizēšana datu bāzes serverī biznesa intelekta nodrošināšanai. Bakalaura darbs

Upload: trinhhuong

Post on 01-Feb-2018

231 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

RĪGAS TEHNISKĀ UNIVERSITĀTE

Datorzinātnes un informācijas tehnoloģijas fakultāte

Lietišķo datorsistēmu institūts

Lietišķo datorzinātņu katedra

Vadims Gališkins

Datu analīzes programmu realizēšana datu bāzes serverī

biznesa intelekta nodrošināšanai.

Bakalaura darbs

Darba vadītājs:

Dr.sci.ing., prof. Jānis Eiduks

Rīga, 2015

Page 2: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

[vieta uzdevuma lapai]

2

Page 3: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

ANOTĀCIJA

Pieaugot datu apjomam datu bāzēs, datu analīzei nepieciešamie resursi, ieskaitot laika

resursu, palielinās. Datu analīze lietojuma serverī kļūst neefektīva, līdz ar ko biznesa intelekts

tiek ieviests datu bāzē, lai datu apstrādē izmantotu datu bāzes resursus. Darba mērķis ir

analizēt jau izstrādātus risinājumus biznesa intelekta ieviešanai Oracle datu bāzē un

demonstrēt alternatīva risinājuma implementēšanu izmantojot 3 dažādas programmēšanas

valodas.

Darba pirmajā nodaļā tiek analizētas datizraces metodes, kuras nepieciešams realizēt

biznesa intelekta ieviešanai datu bāzē. Otrajā nodaļā tiek analizēts Oracle izstrādātais

paplašinājums Oracle Advanced Analytics un tā iespējas Oracle datu bāzē. Trešajā nodaļā

autors izvēlās regresiju kā vienu no datizraces metodēm un demonstrē tās realizāciju Oracle

Data Miner vidē. Vadoties pēc Oracle datizraces metodes pielietošanas algoritma autors

implementē regresijas metodes realizāciju Oracle datu bāzē, izmantojot PL/SQL, Java un C

valodas. Darba pēdēja nodaļā autors izvērtē un salīdzina paša un Oracle izstrādātos

risinājumus, sniedzot komentārus par katra izstrādājuma priekšrocībām un trūkumiem. Oracle

Advanced Analytics paplašinājums tika novērtēts kā lietotājdraugzīgs, bet ar ierobežotām

algoritmu modificēšanas iespējām. Autora izstrādāta risinājuma priekšrocība ir tā

modificēšanas vienkāršība, turpretī lietotāja saskarnes trūkums padara gala lietotāja darbu

sarežģītāku.

Dokumentā ir 46 lappuses, 33 attēli, 8 tabulas, 2 pielikumi un 14 nosaukumu

informācijas avoti.

3

Page 4: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

ABSTRACT

Due to the increase in data quantity in databases, the resources required for data analysis

(including time) continue to increase. Data analysis inside application server becomes

ineffective and because of that, business intelligence is being implemented in database server

so that the database resources can be used for data analysis. The goal of this work is to

analyse the existing solution for business intelligence implementation in Oracle database and

to demonstrate alternative solutions using 3 different programming languages.

In the first part of this document the author analyses the algorithms required for

business intelligence implementation in database. In the second part the Oracle developed

solution for Oracle database is being analysed. In the third part the author selects regression as

the data mining algorithm and demonstrates its implementation in Oracle database using

Oracle Data Miner environment. Author then implements the regression method using

PL/SQL, Java and C programming languages based on Oracle data mining algorithms. In the

last chapter the author evaluates and compares Oracle solutions with his own, providing

comments about advantages and disadvantages of each solution. Oracle developed solution is

rated as user-friendly but with restricted data mining algorithm modification capabilities. The

advantage of author’s developed solution is its accessibility and modification simplicity,

though its usage is becomes harder for end-user due to lacking of graphical user interface.

Bachelor thesis contains 46 pages, 33 figures, 8 tables, 2 appendixes. Bibliography

includes 14 sources.

4

Page 5: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

SATURS

Ievads..........................................................................................................................................7

1. Biznesa intelekts un biznesa intelekta sistēmas................................................................10

1.1. Informācijas iegūšana no datiem..............................................................................11

1.2. Lēmumu pieņemšana biznesa intelekta sistēmās......................................................12

2. Datu bāzes sistēmas Oracle BI tehnoloģija „Advanced Analytics”..................................14

3. Regresijas uzdevumu risināšanas varianti Biznesa intelekta sistēmā...............................16

3.1. Biznesa intelekta sistēmās izmantojamās metodes...................................................16

3.2. Regresijas metode.....................................................................................................18

3.3. Regresijas aprēķinu veikšana izmantojot Oracle Data Miner...................................18

3.3.1. Regresijas aprēķinu modeļa izveidošana..........................................................19

3.1.1. Regresijas aprēķinu modeļa testēšana...............................................................20

3.1.2. Regresijas aprēķinu modeļa lietošana...............................................................21

3.4. Regresijas metodes realizēšana izmantojot SQL valodu..........................................22

3.1.3. Iestatījumu tabulas izveidošana........................................................................22

3.1.4. Regresijas aprēķinu modeļa izveidošana..........................................................23

3.1.5. Regresijas aprēķinu modeļa testēšana...............................................................24

3.1.6. Regresijas aprēķinu modeļa informācija...........................................................24

3.1.7. Regresijas modeļa pielietošana.........................................................................25

3.5. Regresijas aprēķinu veikšana lietojot PL/SQL valodu.............................................26

3.1.8. Oracle objektu tipa izveidošana........................................................................26

3.1.9. Datu tabulas izveidošana un aizpildīšana.........................................................27

3.1.10. Regresijas aprēķinu funkcijas izveidošana.......................................................30

3.1.11. Regresijas aprēķinu funkcijas pielietošana un rezultātu analīze.......................32

3.6. Regresijas aprēķinu veikšana lietojot Java valodu (iekļautā valoda)........................32

3.6.1. Java programma regresijas metodes realizēšanai.............................................33

3.6.2. Java programmas izsaucošas funkcijas izveidošana.........................................34

3.6.3. Java programmas pielietošana..........................................................................35

3.7. Regresijas aprēķinu veikšana lietojot C valodu (ārējā valoda).................................36

3.7.1. Darbības shēma ārējas programmas izmantošanai...........................................36

3.7.2. Ārējas programmas definēšana datu bāzes vidē...............................................37

4. Variantu salīdzinājums un izvērtējums.............................................................................39

5

Page 6: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

4.1. Oracle izstrādāta risinājuma variantu izvērtējums....................................................39

4.2. Autora izstrādāto risinājumu izvērtējums.................................................................40

Nobeigums................................................................................................................................42

Literatūra...................................................................................................................................43

Pielikumi...................................................................................................................................44

6

Page 7: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

IEVADS

Pagājušā gadsimta septiņdesmitajos gados sākās diskusijas par glabājamo datu un

lietojuma programmu autonomijas palielināšanu. To rezultātā radās datu bāzes tehnoloģija,

kura nodrošināja glabājamo datu loģisko un fizisko neatkarības no lietojuma programmām

pretstatā failu vadības sistēmas tiešai izmantošanai. Visi lietojumi tika izslēgti no datu bāzes

servera, lai nodrošinātu tā autonomiju un palielinātu tā ražību. Lietojumu glabāšanai un

realizēšanai tika ieviesti lietojumu serveri. Pieaugot datu bāzes serveru iespējām (atmiņu

apjomiem, procesoru daudzumam un ražībai, programmēšanas iespējām serverī), tika

konstatēts, ka liela apjoma datu priekšapstrādes uzdevumu nav efektīvi veikt lietojuma

serverī, bet lietderīgi tomēr veikt datu bāzes serverī. Tas ļoti būtiski samazina tīkla noslodzi

un izpildes laiku.

Pēdējos gados parādījās divi būtiski faktori, kas veicināja datu priekšapstrādes

uzdevumu iekļaušanu datu bāzes serverī:

1) 2010. gadā vaicājumu valodas SQL (Structured Query Language) standartizācijas un

attīstības komiteja SQL-09 vienkāršoja vaicājumu sintaksi, lai vaicājumu valodu tuvinātu

dabiskajai valodai (1.1. tabula). Tas ļauj veidot lietotājiem vieglāk uztveramas un

realizējamas komunikāciju formas ar datu bāzes sistēmām. Lietotājs pats var risināt

jautājumus par nepieciešamo datu izgūšanu "ad hoc" situācijās definējot savas vajadzības

SQL valodā. 1. tabula. SQL valodas vienkāršojumi Jdb un S2

SQL NewSQL 'Jdb' NewSQL 'S2'CREATE TABLE TEST(  ID INT PRIMARY KEY,   NAME VARCHAR(255))

test=new table(  int id,  string name,  key(id))

create table test(  id int,  name string,  primary key(id))

INSERT INTO TEST VALUES(1,'Hello')

test.add(1,"Hello") insert test (1,'Hello')

SELECT * FROM TEST test.get() select test

SELECT T1.ID,T2.NAME FROM TEST T1, TEST T2WHERE T.ID=T2.ID

t1=test; t2=test; t1.join(t2[t1.id==t2.id]).get(t1.id,t2.name)

select t1:test join t2:test on t1.id==t2.id get t1.id, t2.name

UPDATE TEST SET NAME='Hi' WHERE ID=1

test[id==1].set(name="Hi") update test set id=1 where name=='Hi'

DELETE FROM TEST WHERE ID=1

test[id==1].delete() delete test where id==1

DROP TABLE TEST test.drop() drop test

7

Page 8: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Glabājamās procedūras

PL/SQL programma

PL/SQL čaula

Java progr.

2) Lai vienkāršāk un efektīvāk varētu realizēt vairāku sistēmu datu (atšķirīgi datu glabāšanas

formāti) kopējo apstrādi, universālās datu bāzes sistēmās ir realizēti dažādi datu glabāšanas

veidi: relāciju, relāciju-objektu, XML, grafisko datu un NoSQL varianti. Papildus ir iespējas

iekļaut jaunus datu tipus un nodrošināt tiem nepieciešamo apstrādes funkcionalitāti. Datu

bāzes sistēmas realizē arī visu veidu datu savstarpējās transformācijas un kopējās

izmantošanas iespējas.

Minētie faktori bija pamats jaunas datu bāzes sistēmas izmantošanas tehnoloģijas –

"apstrādes veikšana datu bāzē" (angl. in database processing) realizēšanas uzsākšanai.

Datu bāzes sistēmās tiek iekļauts arvien vairāk programmu dažāda tipa aprēķinu

veikšanai (statistikas, temporālo, grafikas un citu datu aprēķini). Šis izmantošanas variants

ieguvis nosaukumu "aprēķini datu bāzē" (angl. in-database calculation). Datu glabāšana,

izgūšana un vienkāršu aprēķinu veikšana ir datu bāzes sistēmas pamatfunkcijas.

Reālai un kvalitatīvai datu izmantošanai ir vajadzīga palīdzība lietotājam lēmumu

pieņemšanas procesā. Tas nozīmē, ka informācijas sistēmai ir jārealizē dažādas datu analīzes

metodes un jāsniedz lietotājam apkopoti datu agregāti gan arī jau formāli izvērtēti dati, lai

viņš iegūtu labu priekšstatu par situāciju un iespējamiem risinājuma variantiem. Tāpēc datu

bāzes sistēmās iekļauj datu noliktavu (angl. data warehouse) un datizraces (angl. data mining)

tehnoloģijas operatīvas realizēšanas un izmantošanas variantos. Pats lietotājs var izveidot no

datu bāzē esošajiem datiem virtuālu datu noliktavu un ar to strādāt.

1. att. Datu apstrādes programmu iekļaušana datu bāzes serverī Oracle10g

Datu bāzes serveris

Iekļautās datu apstrādes programmu bibliotēkas:1) statistikas aprēķinu bibliotēka;2) analītisko funkciju bibliotēka.

Dati un meta-dati

Datu bāzeLietojuma serveris

Lietojumu programmas

Piesaistītā sistēma (MS

Excel)

SQL valodas paplašinājumi: 1) virtuālās datu noliktavas veidošana;2) specializētie datu izgūšanas jautājumi no datu noliktava;3) datizraces veidošanas un realizēšanas konstrukcijas.

Interfeiss piesaistītajām programmām

Datu bāzes vadības sistēma

DokumentiDokumentiDokumenti

8

Page 9: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Līdzīgi tiek veidota darbība ar datizraces metodēm. Lietotājs no datu bāzes izgūst

analīzei nepieciešamos datus, definē analīzes modeli un inicializē attiecīgās metodes izpildi.

Šādas iespējas guvušas nosaukumu "analīze datu bāzē" (angl. in-database analytics).

Vēl viens jauninājums tehnoloģijas "apstrādes veikšana datu bāzē" ir piesaistītās

sistēmas (angl. attached systems). Datu bāzes sistēmā tiek iekļauti interfeisi tiešai saitei ar

dažādām populārām programmu sistēmām. Piemēram, elektroniskām tabulām. Tas ļauj datus

glabāt datu bāzē, sagatavot apstrādei elektroniskajā tabulā un veikt aprēķinus atkal datu bāzes

sistēmā.

Tehnoloģijas "apstrādes veikšana datu bāzē” realizēšanas aizsācēji pagājušā gadsimta

90-os gados bija firmas IBM, Illustra/Informix un Oracle. 1. attēlā parādīta šīs tehnoloģijas

realizācija datu bāzes sistēmā Oracle.

Saskaņā ar "apstrāde datu bāzē" tehnoloģiju, izmantotajā datu bāzes sistēmā

Oracle10g ir iekļauts liels daudzums statistikas, temporālo (laika) un grafisko datu aprēķinu

funkcijas. Tās var izmantot izgūstot datus ar SELECT vaicājumu palīdzību, norādot

vaicājumā aprēķinu funkcijas un atbilstošos datus. Var tikt izmantotas arī virtuālās datu

noliktavas veidošanas un izgūšanas iespējas, kā arī datizraces metodes. speciālas iekļautās

matemātisko aprēķinu programmu paketes, kurās no datu bāzes var nodot vajadzīgos datus.

Bakalaura darba mērķis ir izpētīt „analīze datu bāzē” tehnoloģiju un demonstrēt tās

realizācijas iespējas Oracle datu bāzei. Sasniegt šo mērķi ir iespējams, izpildot sejokošus

uzdevumus:

1. Izpētīt biznesa intelekta un biznesa intelekta sistēmas jēdzienus;

2. Izpētīt tehnoloģiju „analīze datu bāzē”;

3. Izpētīt esošus risinājumus analīzei Oracle datu bāzē;

4. Implementēt risinājuma piemēru vienai no datizraces metodem Oracle datu

bāzē;

5. Salīdzināt risinājumus un secināt par tehnoloģijas nepieciešamību.

Bakalaura darba pirmajā nodaļā tiek definēts biznesa intelekts un biznesa intelekta

sistēma, tiek aprakstīts biznesa intelekta sistēmas mērķis un metodes, ar kurām mērķis tiek

sasniegts. Otrajā nodaļā tiek izpētīts Oracle izstrādātais risinājums biznesa intelekta ieviešanai

datu bāzē un ir dots lietošanas piemērs. Trešajā nodaļā autors implementē Oracle datu bāzē

savu risinājumu PL/SQL un Java programmēšanas valodās, pēc kā izpēta iespējas

implementēt risinājumu ārējā C programmēšanas valodā. Cetrurtajā nodaļā risinājumi tiek

izvērtēti un ir izdarīts secinājums par tehnoloģijas nepieciešamību.

9

Page 10: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

1. BIZNESA INTELEKTS UN BIZNESA INTELEKTA

SISTĒMAS

Biznesa intelektam (angl. Business intelligence (BI)) eksistē daudzas un dažādas

definīcijas. Katrā tiek uzsvērtas tās iezīmes , kuras definējumu autoriem liekas svarīgākās.

Biznesa intelekts iekļauj sevī lietojumus, infrastruktūru, rīkus un labākās prakses, kas

nodrošina pieeju informācijai un tās analīzi ar mērķi uzlabot un optimizēt lēmumu

pieņemšanu un veiktspēju [Gartner].

Biznesa intelekts attiecās uz tehnoloģijām, lietojumiem un praksēm, kas nepieciešamas

biznesa informācijas savākšanai, integrēšanai, analīzei un pasniegšanai. Biznesa intelekta

nolūks ir atbalstīt un uzlabot biznesa lēmumu pieņemšanas procesu. Būtībā biznesa intelekta

sistēmas ir no datiem atkarīgas lēmumatbalsta sistēmas [Olap].

Biznesa intelekts ir datu uzkrāšanas process, kam seko datu pārvēršana nozīmīgajā

informācijā, kas ir lietojama organizācijas mērķu sasniegšanai. Vienkāršojot, biznesa intelekts

ir efektīva datu un informācijas izmantošana ar mērķi pieņemt pareizu biznesa lēmumu

[Logi].

No visām apskatītām definīcijām autors izvēlās [Olap] piedāvāto definīciju, jo uzkata,

ka tā ir vispilnīgāka un labāk par citām definīcijām akcentē to, ka biznesa intelekta sistēmai

nav viennozīmīga definējuma visām organizācijām. Pēc autora uzskatiem, pastāv

visdažādākas biznesa intelekta sistēmas, kas izmanto dažādas metodes, bet tiecas sasniegt

vienu kopīgo mērķi (atbalsīt lēmumu pieņemšanu).

Biznesa intelekta sistēmas nodrošina vēsturiskus, patreizējus un paredzamus skatus uz

biznesa operācijam, visbiežāk izmantojot datus, kas tika uzkrāti datu noliktavā vai datuvē

(angl. data mart). Programmatūras elements nodrošina ziņošanu, griezuma tabulu analīzi,

vizualizāciju un statustisku datizraci. Lietojumi pievēršās apgrozījumam, razošanai, finansēm

un daudziem citiem biznesa datu avotiem, lai sasniegtu mērķūs, saistītus ar biznesa ražīguma

vadību. Bieži vien tiek uzkrāta informācija par citām organizācijām, kas darbojās konkrētajā

industrijā, lai turpmāk to pielietotu salīdzinošajā novertēšanā [Olap].

Saskaņā ar autora [Logi] veiktiem pētījumiem, biznesa intelekta sistēmas ietver sevī

sekojošus elementus:

1. Ziņošana: process, kas sastāv no piekļūšanas datiem, datu formatēšana un

pasniegšana (ziņošana).

2. Analīze: paraugu noteikšana un saišu dibināšana starp datiem vai datu grupām.

10

Page 11: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

3. Datizrace: oriģinālas informācijas izgūšana no datiem.

4. Datu kvalitāte un interpretācija: attiecība starp datiem un reālas pasaules

objektiem, uz kuriem dati attiecās

5. Prognozēšana: datizraces nozare, kas prognozē varbūtības un tendences.

Analizējot divu autoru [Olap] un [Logi] biznesa intelekta sistēmu pamata sastāvdaļas,

autors ir nonācis pie secinājuma, ka biznesa intelekta sistēmas darbību secība ir iepriekš

definēta un var tikt raksturota ar diviem blokiem:

1. Datu sagatavošana, kas ietver sevī datu izgūšanu un transformāciju.

2. Datu analīze, kas izmanto datizraces algoritmus informācijas un prognozējamo

rezultātu iegūšanai, kas atbalsta lēmumu pieņemšanas procesu.

Attiecinot dotos secinājumus uz datu bāzu sistēmām, autors ir nonācis pie secinājuma,

ka, pielietojot „analīze datu bāzē” tehnoloģiju pirmjā blokā veikto darbību skaitu varētu

samazināt, balstoties uz to, ka dati nav jātransformē sakarā ar to, ka datu bāzē izmantojamie

datu tipi tiks lietoti aprēķinu veikšanā, līdz ar ko nav jāpievērš uzmanība ārējas vides (datu

analīzes programmatūras) datu tipu saskaņošanai. Papildus tam, dati nav jāizgūst no datu

bāzes un nav jāparvieto uz ārējo vidi, līdz ar ko tiek samazināta tīkla noslodzi un būtiski tiek

samazināts izpildes laiks pie liela datu apjoma.

1.1. Informācijas iegūšana no datiem

Kā iepriekš tika definēts, biznesa intelekta sistēmas mērķis ir iegūt un pasniegt

lietotājam informāciju, kas atbalsta lēmumu pieņemšanu. Gadījumā ar datu bāzi, biznesa

intelekta sistēmai informācija nav pieejama tādēļ, ka datu bāze satur datus, nevis informāciju.

Dati datu bāzē ir izejviela informācijas iegūšanai, kam ir neitrāla pozīcija. Dati nav ne „labi”

ne „slikti” līdz brīdim, kad tie tiek izmantoti analīzei un pārvēršas par informāciju.

Informācijas iegūšana pēc [Logi] ir pareizu jautājumu uzdošana datiem, ar mērķi saņemt

jēdzīgu atbildi. Kā piemēru [Logi] apraksta šķirošanas komandu pēc pasūtījumu skaita, kā

jautājumu: „Kuram ir visvairāk pasūtījumu?”, atbildot uz kuru var iegūt noderīgu informāciju

lēmumu pieņemšanai.

Mūsdienās organizācijas sāk saskatīt, ka dati un saturs jāvertē kā vienots vesels, nevis

kā atsevišķi informācijas vadības aspekti. Uzņēmuma informācijas vadība apvieno sevī divus

elementus: biznesa intelektu un uzņēmuma satura pārvaldību (angl. Enterprise content

management). Pašlaik organizācijas tiecās pie operatīva biznesa intelekta (angl. Operational

business intelligence). Biznesa intelekta piegādātāji, no otras puses, fokusējās uz

pašapkalpošanas biznesa intelektu (angl. Self-service business intelligence) [Olap].11

Page 12: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Pašapkalpošanas biznesa intelekts iesaista biznesa sistēmas un datu analītiķus, kas

nodrošina galalietotājus ar biznesa informāciju bez tiešas IT iesaistīšanas. Pašapkalpošanas

biznesa intelekts nodrošina galalietotāju ar iespēju strādāt ar datiem bez papildus

nepieciešamām zināšanām.Tāda tipa risinājumi visbiežāk ir izveidoti lietotājdraudzīgā vidē,

lai galalietotājs varētu analizēt datus, pieņemt lēmumus, plānot un paredzēt patstāvīgi [Olap].

Viens no pašapkalpošanas biznesa intelekta izstrādātajiem ir PARIS Technologies, kas

izstrādā biznesa intelekta rīkus Microsoft Excel videi. Tādu rīku izmantošana pēc autora

domām ir efektīvs veids kā integrēt biznesa intelektu jau ierastajā vidē, bez nepieciešamīas

pēc ilgtermiņa apmācību vai jaunu darbinieku piesaistīšanas.

1.2. Lēmumu pieņemšana biznesa intelekta sistēmās

Biznesa intelektam ir liela nozīme lēmumu pieņemšanā, jo lēmumi ir balstīti uz

pētījumiem, datu analīzi un prognozēšanu. Lai būtu iespēja pieņemt vienlaikus ātru un

apzinīgu lēmumu, biznesa intelekta sistēmai jādarbojas ātri, precīzi un droši, ko bieži vien

neizdodas panākt vienlaikus, jo, uzlabojot vienu no radītājiem, pārējie mēdz pasliktināties.

Biznesa intelektam ir 3 vienlīdzīgi svarīgas sastāvdaļas:

1) datu apkopošana un sagatavošana

2) datu analīze;

Datu meklēšana, datu izgūšana no datu bāzes un datu pārveidošana piemērotā formā

turpmākajai analīzei bieži vien prasa lielāku laiku, nekā analītiskā darbība, kas nav pieļaujami

gadījumos, kad laika resursi ir ierobežoti, un no darba ātruma ir atkarīgs rezultāts. Jo lielāks

datu apjoms, jo vairāk laika ir nepieciešams to apstrādei, līdz ar to šī problēma ir aktuālāka

lielos projektos, kuros datiem jāpiekļūst regulāri un jābūt iespējai ātri analizēt datus, veidot

modeļus un pieņemt atbilstošus lēmumus.

Problēmas risinājums ir analītisko sastāvdaļu ieviešana datu bāzē, kas vienlaikus dod

iespēju izmantot jaudīgu datu bāzu resursus datu analīzei, gan samazina izmaksas, kas bija

saistītas ar datu pārvietošanu. Pateicoties tam, ka dati nav jāeksportē no datu bāzes un nav

jāglabā vairākos eksemplāros, dati paliek drošībā un tie ir lietojami analītiskai darbībai bez

papildus transformācijām.

Tiek uzskatīts, ka gandrīz 70% laika, kas nepieciešams analītiskā modeļa izveidošanai,

tiek veltīts datu vadībai [Brobst 2009]. Nepieciešamie dati visbiežāk ir izkliedēti un nesaistīti

tādā veidā, kā to prasa modelēšanas vide, tāpēc tradicionālās pieejas gadījumā, visi

nepieciešamie dati ir manuāli jāizgūst un jāpārveido. Tāda pieeja nav efektīva, jo lielam datu

apjomam darbs prasa vairāk laika un resursu, kavējot projektu attīstību citos virzienos.12

Page 13: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Implementējot analītiskus rīkus datu bāzē, tiek iegūta pilnvērtīga analitiska platforma,

kas spēj glabāt datus un pielietot tos analīzē un modeļu veidošanā neatkarīgi no citām

sistēmām. Visi dati tiek glabāti datu noliktavā un darbs ar tiem tiek veikts pa tiešu, tāpēc dati

nav jāpārvieto vai jādublē. Ar datu pārvietošanas nepieciešamības zudumu, modeļa veidošana

kļūst vairākkārt ātrāka un drošāka. Datu bāzes vairākos gadījumos ir jaudīgas mašīnas, kurām

ir lieli resursi, bet tos resursus nav iespējams pielietot citur, ka datu iegūšanā vai izgūšanā.

Savukārt ar jaunu tehnoloģiju, datu bāzes resursi tiek virzīti uz analītisko darbību un datu

apstrādi, tādejādi atbrīvojot no tā citas sistēmas.

13

Page 14: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

2. DATU BĀZES SISTĒMAS ORACLE BI TEHNOLOĢIJA

„ADVANCED ANALYTICS”

Oracle Advanced Analytics ir Oracle datu bāzes paplašinājums, kas dod iespēju veikt

analizēt datus tieši datu bāzē, bez papildus datu pārvietošanas. Oracle Advanced Analytics

atbalsta divas valodas: SQL un R, katra no kurām ir neatņemama daļa no paša paplašinājuma.

Paplašinājumam ir divas pamata komponentes:

1. Oracle Data Miner, kas ietver sevī ātrdarbīgus SQL algoritmus modeļu

izveidošanai un pielietošanai.

2. Oracle R Enterprise, kas atbalsta R programmēšanas valodas izmantošanu

statistiskajiem aprēķiniem datu bāzē. Izskaitļošanas darbus šajā gadījumā veic

datu bāze.

Oracle Advanced Analytics piedāvā vairākas iespējas datu apstrādei, tajā skaitā:

diagrammu attēlošana ar iebūvētām datizraces metodem, lietotāja rakstīto R skriptu izpilde,

modeļa imitācija ar iebūvētām metodēm, prognozējamo rezultātu izgūšana u.c.

Galvenā priekšrocība, pēc [Oracle] viedokļa, ir iespēja strādāt ātrāk un ērtāk, jo

paplašinājumam ir ļoti plaša funkcionalitāte, kura tiek realizēta ar mazāku darbību skaitu,

nekā tas tiek darīts tradicionālajā veidā. 2. attēlā var redzēt kā tiek samazināts darbību skaits

ar Oracle Advanced Analytics paplašinājuma izmantošanu.

2.att. Oracle DBVS paplašinājums Advanced Analytics

Tradicionālā pieeja prasa pavisam 6 darbības, no kurām divas darbības (datu izgūšana

un datu pievienošana datu bāzei) nav nepieciešamas, izvēloties jaunu pieeju, jo darbs ar

datiem notiek datu bāzes vidē un dati nav jāparvieto. Citas darbības kļūst ātrākas pateicoties

14

Page 15: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

tam, ka dati vairs nav jāpārveido ārējās vides atbilstošajā datu tipā un/vai formātā. Tādai

pieejai ir daudzas citas priekšrocības, kuras var turpmāk pētīt un izvertēt to nepieciešamību.

Oracle Data Miner ir SQL Developer vides paplašinājums, kas nodrošina lietotāju ar

iespēju strādāt ar datiem, nepārvietojot datus ārpus datu bāzes. Oracle Data Miner nodrošina

lietotāju ar iespējam:

1. analizēt datu grafisko attēlojumu;

2. veidot un novērtēt datizraces modeļus;

3. pielietot lietotāja izveidotus modeļus jauniem datiem.

Oracle Data Miner nodrošina lietotāju ar grafisko saskarni, kas, savukārt, dod lietotājam

iespēju izvietot un savienot modeļam nepieciešamos elementus, aizvietojot tekstveida

vaicājumus ar grafiskiem elementiem. Datizraces metožu izmantošana informācijas iegūšanai

no datiem datu bāzē ir demonstrēta 3. attēlā.

Problēmas definēšana

Datu iegūšana un

sagatavošana

Modeļa izveidošana un

novērtēšana

Zināšanu iegūšana

Piekļuve datiemDatu transformācijas

Modeļa izveidošanaModeļa testēšanaModeļa novērtēšana un interpretēšana

Modeļa pielietošanaAtskaišu veidošanaĀrējie lietojumi

3. att. Informācijas izgūšanas no datu bāzes algoritms

15

Page 16: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

3. REGRESIJAS UZDEVUMU RISINĀŠANAS VARIANTI

BIZNESA INTELEKTA SISTĒMĀ

Lai sasniegtu biznesa intelekta sistēmas uzstādīto mērķi par atbalstu lēmumu

pieņemšanā, tiek izmantotas vairākas datizraces metodes, kas datus pārvērš noderīgajā

informācijā. Palielinoties uzdevuma sarezģītībai, pieaug nepieciešamu metožu skaits viena

uzveduma risināšanai, tāpēc biznesa intelekta sistēmās jāiekļauj pēc iespējas vairāk datizraces

metožu.

Savā pētījumā [Gullo 2015] izdala 2 kategorijas datizraces metodēm:

1. Prognozēšanas (angl. predictive) metodes, kas veido modeli no esošiem datiem

un nosaka sakarības starp datu vērtībām. Turpmak modelis tiek pielietots citai

datu grupai, lai prognozētu nezināmās vērtības.

2. Raksturošanas (angl. descriptive) metodes, kas izmanto iebūvētos modeļus, lai

noteiktu sakarību starp esošiem datiem, sniedzot par datu kopu informāciju, kura

iepriekš tajā nebija formulēta.

3.1. Biznesa intelekta sistēmās izmantojamās metodes

Biznesa intelekta sistēmās tiek izmantotas vairākas aprēķinu un analīzes metodes, pie

tām dažiem uzdevumiem tiek pielietotas vairākas metodes. Dažādi autori savos pētījumos

analizē un apraksta dažādas metodes un to skaitu, ko var paskaidrot ar to, ka metožu skaits ir

atkarīgs no tā, kāda tipa uzdevumi tiek veikti un kādas darbības jāveic uzdevumu pildīšanas

gaitā. Visas šajā darbā aplūkotas metodes ir attēlotas 2. tabulā. 2. tabula. Datu analīzes metodes biznesa intelekta sistēmās

Metode Kategorija Ieejas dati Sagaidāmais rezultāts

Klasifikācija Prognozēšanas

metode

Apmācības kopa (ierakstu

kolekcija)

Mērķa atribūta vērtības

piederība noteiktai klasei citā

datu kopā

Klasterizācija Raksturošanas

metode

Datu objektu kopa Datu objektu kopa sadalīta

grupās pēc „līdzības” pakāpes

Asociācijas likums Prognozēšanas

metode

Tranzakciju kopa (ierakstu

kopa)

Atribūta (elementa)

parādīšanas jaunā datu kopā.

Regresija Prognozēšanas

metode

Vēsturiskā elementa vērtība Prognozējamā elementa

vērtība

16

Page 17: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Anomāliju

konstatēšana

Raksturošanas

metode

Ierakstu kopa Anomālijas ieejas ierakstu

kopā

Pavisam tiks apskatītas 6 metodes. Savos pētījumos [Gullo 2015] apskata vairākas

metodes, no kurām šī darba autors ir izvēlējies sekojošas:

1. Klasifikācijas metode, kas ieeja izmanto ierakstu kolekciju sauktu par apmācības kopu

(angl. training set), kurā katrs ieraksts sastāv no vairākiem atribūtiem, viens no kuriem

ir klases atribūts. Metodes mērķis ir atgriezt modeli, pēc kura var noteikt klases

atribūtu, izmantojot pārējās vērtības. Iegūtais modelis turpmāk tiek izmantots

aprēķinos ar jauniem datiem.

2. Klasterizācijas metode, kas ieeja izmanto ierakstu kolekciju bez jebkādiem klases

atribūtiem. Metodes mērķis ir sadalīt objektus grupās (klasteros) tā, lai vienas grupas

elementi būtu līdzīgi savā starpā, bet atšķirīgi no citu grupu elementiem. Par elementu

„līdzīguma” pakāpi kalpo lietotāja definēta vai albogirmā ievūbēta mērvienība.

3. Asociācijas likuma metode, kas ieeja saņēm ierakstu kopu, sauktu par tranzakcijas

kopu. Metodes mērķis ir analizēt atribūtu paradīšanas likumsakarības, lai prognozētu

vērtības jaunai datu kopai. Vislabāk šo metodi paskaidro [Gullo 2015] sniegtais

piemērs par preču veikalu, kurā asociācijas likuma metode prognozē, kuru preci

pircējs varētu nopirkt kopā ar jau izvēlēto preci.

[Tierney 2014] savā darbā piedāvā papildus 2 metodes, kuras ir pieejamas Oracle

Advanced Analytics paplašinājumā un kuras ir sekmīgi implementētas un tiek aktīvi

izmantotas:

4. Regresijas metode, kas izmanto vēsturiskus datus nākotnes vērtības prognozēšanai.

Būtiski atzīmēt, ka atšķirībā no klasifikācijas, šī metode veido aprēķinu modeli

skaitliskai vērtībai, nevis klases atribūtam, līdz ar ko tiek iegūta funkcija, kas raksturo

mērķa vērtības atkarību no ieejas datu vērtības.

5. Anomāliju konstatēšana ir metode, kas no datu kopas izdala tādus ierakstus, kas ir

„neparasti” vai reti. Tādus ierakstus nav iespējams izdalīt ar klasterizācijas metodi, jo

to skaits ir salīdzinoši mazs, līdz ar ko tiem netiek pieversta uzmanība. Pamata

atšķirība pēc [Tierney 2014] ir analizēt datu kopu ka vienotu veselu, nosakot datus

raksturojošās īpašības. Turpmāk, katrs ieraksts tiek salīdzināts ar „parauga” ierakstu,

lai noteiktu cik „neparasts” ir dotais ieraksts.

No visām apskatītām datizraces metodem autors ir izvēlējies regresijas metodi savu

risinājumu iztrādāšanai. Regresijas metode tika izvēlēta tāpēc, ka tās implementēšana ir 17

Page 18: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

salīdzinoši vieglāka par citām, jo ir balstīta uz matemetiskiem aprēķiniem, neņēmot vērā

papildus nosacījumus, kas varētu rasties, analizējot ieejas ierakstu kopu. Papildus tam,

regresijas metodes attēlošanai nav nepieciešams liels datu apjoms, līdz ar ko rezultātus varēs

attēlot īsi un konkrēti.

3.2. Regresijas metode

Regresija ir analītiskā metode, kas nosaka likumsakarību starp esošām vērtībām, lai

izskaitļotu mērķa atribūta vērtību jauniem datiem. Biznesa intelektā regresiju var pielietot

prognozēšanā, lai, izmantojot esošus datus, noteikt kādā veidā mērķa vērtība ir atkarīga no

mainīgām vērtībām, kas ir iepriekš zināmas un tiek padotas regresijas metodei no citiem

avotiem. Otra svarīga regresijas metodes pielietošana ir trūkstošo datu noteikšana, lai tos

varētu turpmāk pielietot citā metodē. Šajā darbā tiks apskatītas divi regresijas modeļa uzbūves

veidi. Pirmais veids ir Oracle Advanced Analytics piedāvātais modeļu veidošanas rīks, kas

nodrošina lietotāju ar grafisko interfeisu katra elementa un elementu saišu attēlošanai. Otra

iespēja ir izmantot datu bāzes Oracle dzimtās SQL un PL/SQL valodas, iekšējo Java valodu

un ārējo C valodu modeļu pielietošanai ar Oracle PL/SQL izveidotām paketēm un/vai

funkcijām.

3.3. Regresijas aprēķinu veikšana izmantojot Oracle Data Miner

Sakarā ar to, ka tika izvēlēta regresijas metode, kas pieder pie prognozēšanas metožu

kategorijas, visas realizācijas notiks pēc sekojoša algoritma, kas parādīts 4. attēlā. Sākumā

lietotājam jāizveido un jākonfigurē aprēķinu modelis, kas izmanto ieejas datus (tabulu), lai

noteiktu saistības starp atribūtiem un to vērtībām.

Modeļa veidošana

Metodes izvēle un iestatīšana

Modeļa testēšana

Modeļa pielietošana

jauniem datiemIeejas dati

Jaunie dati

4. att. Regresijas pielietošanas algoritms

18

Page 19: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Kad aprēķinu modelis ir izveidots un pārbaudīts (testēts), tas jāpielieto jauniem datiem,

tadejādi aprēķinot mērķu atribūtu vērtības. Iegūtās vērtības var tikt pievienotas jaunu datu

tabulai, izvietoti citā tabulā un/vai tikt izmantoti tālākos aprēķinos.

3.3.1. Regresijas aprēķinu modeļa izveidošana

Lai realizētu regresijas metodi Oracle Advanced Analytics paplašinājuma Oracle Data

Miner vidē, no piedāvāto mezglu saraksta lietotājam ir jānorāda izvēle – „regresija”. Bez

elementa „regresija, izvēļu sarakstā ir citi elementi: klasifikācija, klāsterizācija un anomāliju

atklāšana.

Izvietojot regresijas mezglu uz darba virsmas, lietotājam jāpievieno avota (tabulas)

mezgls, kas satur regresijai nepieciešamus izejas datus. Pirms uzsākt regresijas mezgla

pievienošanu darbu plūsmai un regresijas aprēķinu modeļa veidošanu, lietderīgi ir izanalizēt

ieejas tabulas datus, lai noteiktu iespējamās neprecizitātes aprēķinu laikā, kas saistītas ar

tabulā esošām vērtībām un to sakarību ar mērķa atribūta vērtību [Tierney 2014]. Gadījumā, ja

tabulā ir kolonnas ar vērtībām, kas ierobežotu regresijas precizitāti, piemēram, kolonnas, kuru

vērtības ir ļoti tuvas mērķa atribūta vērtībām (piemēram, mērķa atribūta pašreizēja vērtība un

pagājušā gada vidēja vērtība), lietotājam ir jāpievieno papildus mezgls, kas izslēgs tādas

kolonnas no datiem, kas tiks padoti regresijas modelim. Šim nolūkam kalpo kolonnu

filtrēšanas mezgls, kas jānovieto starp tabulas un regresijas mezglu. Kolonnu filtrēšanas

mezgla iestatījumos lietotājam jāspecificē, kuras no kolonnām nav jāpadod tālāk pa

darbplūsmu.

5. att. Darbplūsma regresijas modeļa izveidošanai (pārņemts no [Tierney 2014])

19

Page 20: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Pabeidzot izveidot elementus darbu plūsmā, lietotājam jāveic regresijas modeļa

konfigurācija. Pēc noklusējuma, modelī ir izvēlēti 2 regresijas algoritmi:

1. vispārinātais lineārais modelis (angl. Generalized Linear Model), kas ir lineārās

regresijas vispārināts veids. Visparinātais lineārais modelis dod iespēju piesaistīt

palīgtabulas ievades datiem, no kuriem ir atkarīga mērķa atribūta vērtība. Mainot

algoritma iestatījumus, lietotājam ir iespēja, piemēram, precizēt kā modelim rīkoties, ja

ierakstos trūkst vērtību (ignorēt vērtību vai ignorēt kolonnu), vai noteikt, kurām rindām ir

lielāks īpatsvars (piemēram, vis jaunākām).

2. atbalsta vektoru mašīna (angl. Support Vector Machine), kas dod iespēju izveidot gan

lineāro, gan nelineāro regresijas modeli. Atbalsta vektoru masīnas algoritma iespējās ir

aktīvā apmācība.

Algoritma mērķis ir atrast tādu funkciju, pie kuras, pēc iespējas vairāk mainīgo atrodas

pieļaujamā attālumā, lai netiktu uzskatītiem par kļūdu. Iestatījumos lietotājs var izvēlēties,

kuru no kodoliem algoritmam jālieto ( lineāro, ja mērķis ir izveidot linēāras regresijas modeli,

vai Gausa normālā sadalījuma funkciju, ja mērķis ir izveidot nelineāro regresijas modeli).

Izvēloties aktīvās apmācības iespēju, algoritms apmācībā izmantos tikai precīzākas vērtības,

nevis pilnu apjomu.

3.1.1. Regresijas aprēķinu modeļa testēšana

Pēc regresijas mezgla iestatīšanas, lietotājam ir iespēja salīdzināt divu algoritmu testu

rezultātus, lai izvēlētos vispiemērotāko algoritmu sava uzveduma izpildīšanai. Izvēloties

regresijas mezgla iestatījumos testa rezultātu salīdzināšanu, lietotājs var iepazīties ar abu

algoritmu statistiskiem un grafiskiem rezultātiem.

20

Page 21: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

6..att. Regresijas algoritmu precizitātes salīdzināšana (pārņemts no [Tierney 2014])

Algoritmu grafiskajā attēlošanā ir iespējams iepazīties ar algoritma ģenerētām

vērtībām un salīdzināt tās ar jau pieejamām mērķa artibūta vērtībām, lai noteiktu, kurš no

algoritmiem dod precīzaku rezultātu, un kurš no algoritmiem pieļauj vairāk kļūdu. Jo tuvāk

algoritma ģenerētas vērtības ir reālām vērtībām, jo precīzāks ir algoritms, un gadījumā, ja

lietotājs ir izvēlējies divus vai vairāk regresijas algoritmus salīdzināšanai, jāizvēlās, kurš no

algoritmiem tiks turpmāk pielietots datiem.

3.1.2. Regresijas aprēķinu modeļa lietošana

Kad regresijas modelis ir izveidots un pārbaudīts, to var pielietot jauniem datiem, lai

izrēķinātu mērķa kolonnas vērtības. Modeļa pielietošanai lietotājam ir jāpievieno darbplūsmai

papildus vēl 2 elementi: avota mezgls un pielietošanas mezgls.

7. att. Darbplūsma regresijas modeļa pielietošanai (pārņemts no [Tierney 2014])

Avota mezgls norāda uz datu bāzē pieejamo tabulu, dati no kuras tiks padoti regresijas

modelim un izmantoti mērķa kolonnas vērtību noteikšanai. Avota mezgls nav papildus 21

Page 22: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

jākonfigurē, jo regresijas modelis izmantos iepriekš izvēlēto algoritmu un filtrēšanas

nosacījumus.

Pielietošanas mezgls ir saite starp regresijas modeli un jauniem datiem, kas nodrošina

regresijas algoritma izvēli, pielietošanu un rezultātu attēlošanu. Pielietošanas mezgls ieejā

izmanto gan regresijas modeļa, gan datu avota plūsmas. Izveidojot pielietošanas mezglu,

lietotājam jāizmanto iestātījumu logs, lai izvēlētos regresijas algoritms no iespējamiem

variantiem (ir pieejami visi algoritmi, kas tika izvēlēti regresijas mezgla izveidošanas procesā)

un jāizvēlās, kādi papildus dati tiks izvadīti pēc regresijas algoritma izpildīšanas.

Regresijas modeļa pielietošanas rezulātus var apskatīt, izmantojot pielietošanas

mezglu. Rezultāti tiek izvadīti tabulārā veidā jaunajā logā, kur lietotājs var redzēt tikai

izvēlētos izvaddatus un regresijas algoritma pielietošanas rezultātā iegūtās vērtības.

22

Page 23: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

3.4. Regresijas metodes realizēšana izmantojot SQL valodu

Oracle Data Miner paplašinājums ierver sevī datu vārdnīcas, SQL funkcijas un PL/SQL

paketes, kas ir nepieciešami datu sagatavošanai datizracei un modeļa veidošanai, testēšanai un

pielietošanai. Līdz ar to, ka visi darbā gaitā izveidoti objekti un modeļi glabājās datu bāzē, tie

var tikt izmantoti vairākas reizes un ar to vadību un izpildi nodarbojās datu bāze.

Modeļa veidošana

Aprēķinu modeļa

izveidošana

Modeļa testēšana

Modeļa pielietošana

jauniem datiemIeejas dati

Jaunie dati

Iestatījumu tabulas

izveidošana

8. att. Regresijas metodes pielietošana ar SQL valodu

Darbības shēma ir attēlota 2. attēlā un tās būtiskāka atšķirība no regresijas metodes

izmantošnas Oracle Data Miner vidē ir iestatījumu tabulas izveidošana, no kuras datizraces

metode iegūst datus par regresijas algoritmu.

3.1.3. Iestatījumu tabulas izveidošana

Pirms sākt modeļa izveidošanu, lietotājam jāizveido iestatījumu tabula, kas satur datus

par datu iegūšanas algoritmu, un kuru jāpadod modeļa izveidošanas procedūrai. Iestatījumu

tabulā jābūt 2 kolonnām: setting_name (iestātījuma nosakukums) un setting_value

(iestātījuma vērtība).

9. att. Iestatījumu tabulas izveidošana un aizpildīšana

Dotajā piemērā tiek izveidota tabula DEMO_REGRESSION_SETTINGS, kas glabā

datus par regresijas modeli. Par regresijas algoritmu tiek izvēlēta Atbalsta Vektoru Mašīna, un

par kodolu – lineārais. Datu sagatavošana tiek uzstādīta kā automāriskā. Algoritmam ir

23

Page 24: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

vairāki citi iestatījumi, kurus var nepievienot iestatījumu tabulai, tadejādi izmantojot

noklusējuma vērtības.

3.1.4. Regresijas aprēķinu modeļa izveidošana

Regresijas modeļa izveidošanai tiek izmantota CREATE_MODEL procedūra no

DBMS_DATA_MINING paketes, kas ir daļa no Oracle Data Miner paplašinājuma. Kā

datizraces metode tika izvēlēta regresija DMBS_DATA_MINING.REGRESSION, datu tabula

(skats) dotaja gadījuma ir Insur_cust_ltv_sample_v, primāra atslēga ir klienta ID (Customer

ID) un mērķa atribūta kolonna ir LTV.

10. att. Regresijas modeļa izveidošanas kods (pārņemts no [Tierney 2014])

Dotajā piemērā tiek ievadīta tikai daļa no 3. tabulā norādītiem parametriem. Modeļa

izveidošanā tiek izmantota iepriekš izveidota DEMO_REGRESSION_MODEL tabula un

INSUR_CUST_LTV_SAMPLE_V skats, kas kalpo par ievaddatu elementu. 3. tabula. Modeļa izveidošanas parametri

Parametrs Tips Apraksts

Model_name Varchar2 Modeļa nosaukums.

Mining_function Varchar2 Datu iegūšanas funkcijas nosaukums. Iespējamās vērtības:

association, attribute_importance, classification, clustering,

feature_extraction, regression.

Data_table_name Varchar2 Tabulas vai skata nosaukums, kas satur ievaddatus.

Case_id_column_name Varchar2 Ievaddatu tabulas vai skata kolonna, kas kalpo par primāro

atslēgu.

Target_column_name Varchar2 Ievaddatu tabulas vai skata atribūta nosaukums, kuru

algoritmam jāaprēķina.

Settings_table_name Varchar2 Iestatījumu tabulas nosakukums.

Data_schema_name Varchar2 Shēma, kurā atrodas ievaddati. Pēc noklusējuma NULL, ja dati

atrodas tekošajā shēmā.

Settings_schema_name Varchar2 Shēma, kurā atrodās iestatījumu tabula. Pēc noklusējuma

NULL, ja iestatījumu tabula atrodas tekošajā shēmā.

Xform_list Transform_list Modelī iegultās transformācijas. Pēc noklusējuma NULL.24

Page 25: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

3.1.5. Regresijas aprēķinu modeļa testēšana

Pēc regresijas modeļa izveidošanas, lietotājam ir iespēja iegūt statistiskus datus par

izveidotu modeli.

11.att. Modeļa statistisko datu iegūšanas vaicājums

Iepazīstoties ar datiem, lietotājam jāpārliecinās, ka izveidotais modelis ir veiksmīgi

izveidots (uz to norāda MODEL_CONVERGED vērtība no iepriekšēja vaicājuma) un

jāizdara secinājums par modeļa piemērotību dota uzdevuma izpildīšanai.

Diemžēl, pašlaik ar DBMS_DATA_MINING paketes procedūram nav iespējams iegūt

datus par AVM regresijas modeli. Vienīgais algoritms, par kuru var iegūt datus, ir VLM

algoritms.

3.1.6. Regresijas aprēķinu modeļa informācija

Kad Regresijas modelis ir veiksmīgi izveidots un pārbaudīts, lietotājam ir iespēja iegūt

datus par modeļa aprēķinātiem koeficientiem katram no atribūtiem. Šīm nolūkam kalpo

GET_MODEL_DETAILS_SVM procedūra (gadījumā, ja lietotājs izmanto Visparināto

Lineāro Modeli, jāizmanto GET_MODEL_DETAILS_GLM procedūra). Ieraksti, kurus

atgriež Atbalsta Mašīnas Vektora procedūra, satur ieliktās tabulas.

12.att. Regresijas modeļa informācijas iegūšanas vaicājums

Dotajā vaicājumā rezultātā tiek iegūta tabula ar 3 kolonnām, bet pielietojot procedūru

GET_MODEL_DETAILS var iegūt vairāk informācijas par izveidotu regresijas modeli.

Piezīme: GET_MODEL_DETAILS_SVM procedūra atgriež vērtības tikai lineāram kodolam

[Tierney 2014] (sk. regresijas algoritmi).

25

Page 26: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

3.1.7. Regresijas modeļa pielietošana

Regresijas pielietošanai ar SQL valodas palīdzību, lietotājam jāizmanto funkcija

PREDICTION, kas atgriež mērķa atribūta prognozējamo vērtību. Kā argumentu, funkcijai

jānodod modeļa nosaukums (dotajā gadījumā – demo_regression_model).

13. att. Regresijas modeļa pielietošana ar SQL vaicājumu

Rezultātā lietotājs iegūst tabulu ar divām kolonnām, pirmā no kurām ir klienta id, bet

otrā – regresijas prognozējama peļņa, saistītā ar doto klientu. Rezultātus ir iespējams saglabāt

kā tabulu vai skatu turpmākai analīzei vai izmantošanai.

26

Page 27: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

3.5. Regresijas aprēķinu veikšana lietojot PL/SQL valodu

Oracle izstrādātais risinājums datu meklēšanai un analīzei datu bāzē nav vienīgā iespēja

ieviest biznesa intelekta elementus datu bāzes serverī. Izmantojot SQL vaicājumu valodu,

lietotājam ir iespēja izgūt no datu bāzes datus, kā arī metadatus, taču SQL valodai ir

ierobežotas iespējas. Oracle datu bāzē ir iespējams pielietot dzimto PL/SQL programmēšanas

valodu [ODOD2 2015], kā arī izveidot vai ielādēt Java programmēšanas valodā rakstītas

programmas [ODOD1 2015] sarežģītāku (tādu, kuru risināšanai ir nepieciešams veikt vairāk

darbību, kuru realizācija ir laikietilpīga vai neiespējama PL/SQL valodā) uzdevumu

risināšanai.

Objektu tipa izveidošana

PL/SQL funkcijas

definēšana

Modeļa sagatavošana

Modeļa pielietošana

14. att.PL/SQL funkcijas izmantošanas darbības shēma

Regresijas funkcijas realizēšanai autors izmanto Oracle objektu tipus, kas ir līdzīgi

objektiem no objektorientētas programmēšanas. Jaunus objektus Oracle datu bāzē var veidot

no iebūvētiem datu bāzes datu tipiem, ka arī no lietotāja izveidotiem objektu tipiem, tadejādi

abstrakti apvienojot datus vienā vienībā [ODOD3 2015]. Kā regresijas aprēķināšanas metodi

autors izmanto mazāko kvadrātu metodi (the method of least squares), kuras realizēšanā pēc

autora uzskata ir pietiekami sarežģīta, lai atteiktos no SQL vaicājumu valodas un izmantot

PL/SQL programmēšanas valodu.

3.1.8. Oracle objektu tipa izveidošana

Dotā uzdevuma izpildīšanai autors izveido Oracle objektu tipu REG_TYPE, kas sastāv

no 3 artibūtiem un 1 funkcijas.

Objektu tips: REG_TYPE

Atribūti:X: NumberY:NumberZ:Number

Metodes:Prediction(varchar2)

15.att. REG_TYPE tipa diagramma

27

Page 28: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Atribūtu skaitā ir skaitliskās vērtības X, Y un Z, kam jābūt piejamiem tabulā brīdī, kad

lietotājs vēršas pie regresijas funkcijas. Dotajām uzdevumam autors ierobežo lietotāja iespēju

izvēlēties atribūtu X kā mērķa atribūtu, tāpēc lietotājam paliek iespēja izveidot modeli tikai

vērtībām Y vai Z.

Papildus atribūtiem, tipa definēšanas procesā jāpievieno MEMBER tipa funkcija, kuru

autors nosauca Prediction. Member metode ir daļa no Oracle objektu tipa un ar tādas funkcijas

izmantošanu var vērsties pie objekta atribūtiem lietojot konstrukciju self.X, lai, piemēram,

vērsties pie X vērtības.

16.att. Oracle datu tipa REG_TYPE izveidošanas kods

Pēc prognozējamās Y vai Z vērtības izskaitļošanas, funkcijai jāatgriež iegūtā skaitliskā

vērtība, kas funkcijas deklarēšanā ir norādīts ar RETURN NUMBER. Visi mainīgie un

atgriežamā vērtība dotajā gadījumā ir datu bāzes datu tipi, līdz ar ko nav nepieciešama nekāda

veida datu transformācija.

3.1.9. Datu tabulas izveidošana un aizpildīšana

Uzveduma izpildīšanai autors izveido tabulu koef_tab ar rindas tipa objektiem, kurā

katrs ieraksts (rinda) ir objekts. Tabula tiks aizpildīta ar skaitļiem pēc principa Y=X+/-2.

Atsevišķos gadījumos šīs likums ir ignorēts, lai pietuvinātu piemēru reālai sutuācijai, kad

datos pastāv anomālijas. Tabulas pēdējā kolonnā Z ir ierakstīti patvaļīgi dati, kuru saistību ar

X vērtībām nevar paskaidrot, pielietojot lineāras regresijas metodi. Tas tika izdarīts ar nolūku

parādīt, ka lietotājam jānoskaidro datu savstarpējas atkarības pirms metodes pielietošanas, lai

netiktu iegūti aplami dati. Ir svarīgi atzīmēt, ka dotajā gadījumā kolonnu skaitliskajam

vērtībām ir tikai attēlošanas nolūks, jo tiek apskatīts metodes darbības princips, nevis

precizitāte un/vai iegūtie rezultāti.

17.att. Tabulas koef_tab izveidošanas vaicājums

Izvedojot tabulu, vaicājumā jānorāda, ka tabulā katrs ieraksts ir objekts. Šīm nolūkam

pēc tabulas nosaukuma tika pierakstīts OF REG_TYPE, kur REG_TYPE ir iepriekš izveidota

28

Page 29: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Oracle objektu tipam piešķirtais nosaukums. Tabulas struktūra pēc aizpildīšanas ir attēlota 8.

tabulā. Dotā tabula 4. tabula. Tabulas koef_tab struktūra

X Y Z

1,0 1,2 3.0

3,2 1,0 2.0

4,0 4,7 7.3

7,0 8,0 11.5

10,1 10,3 0.2

13,6 15,2 8.0

16,9 19,3 5.9

20,5 24,8 5,3

Kad lietotājam ir pieejama tabula koef_tab, nākamais uzvedums ir veidot skatus no dotās

tabulas. Tā kā uzdevuma gaitā tiks aprēķināta gan Y, gan Z vērtības, tad tiks izveidoti 2 skati:

1) Skats koef_xy, kas satur sevī X un Y kolonnas no tabulas koef_tab;

2) Skats koef_xz, kas satur sevī X un Z kolonnas no tabulas koef_tab;

Modeļa veidošanas gaitā lietotājam būs jāizvēlās viens no skatiem, kas tiks izmantots kā

ievaddati funkcijai Predict. Atkarībā no tā, kurš skats tiks izvēlēts un padots funkcijai Predict,

tiks izskaitļota Y vai Z vērtība. Svarīgi atzīmēt to, ka abos skatos kolonnas jānosauc X un Y.

18. att. Skatu veidošanas vaicājumi

Mērķa atribūta vērtības prognozēšanu autors nolēma sadalīt 2 soļos: koeficientu

noteikšana no skata vai tabulas un mērķa atribūta vērtīas izskaitļošana, pielietojot iegūtos

koeficientus. Sakarā ar to, tika izveidota apakšfunkcija GETKOEF, kuras mērķis ir iegūst A

un B koeficientus no lietotāja ievadīta skata (vai tabulas). Skatā jābūt vismaz 2 kolonnām,

viena no kurām jānosauc X, bet otrā Y. 5. tabula. Skati koef_xy un koef_xz

Skats koef_xy Skats koef_xz

X Y X Y

1 1,2 1.0 3.0

3,2 1 3,2 2.0

4 4,7 4.0 7.3

29

Page 30: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Skats koef_xy Skats koef_xz Skats koef_xy Skats koef_xz

X Y X Y

7 8 7.0 11.5

10,1 10,3 10,1 0.2

13,6 15,2 13,6 8.0

16,9 19,3 16,9 5.9

20.5 24.8 20.5 5.3

Lai parādītu kolonnu savstarpēju saistību, autors attēlo abas tabulas koordināšu asīs.

Dotajā gadījumā tāda tipa datu analīze ir nepieciešama, lai saskatītu datu savtarpēju atkarību

un noteikt, vai lineāras regresijas metodes iegūtus rezultātus varētu uzskatīt par precīziem.

19.att. Kolonnu vērtību savstarpēja saistība

30

Page 31: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

No diagrammām var skaidri redzēt, ka Y atkarība no X ir tuva lineārai un līdz ar to,

vērtību Y var prognozēt ar lineāras regresijas metodi. Savukārt Z atkarība no X nav

paskaidrojama ar lineāras regresijas metodi un, pielietojot autora izveidotas funkcijas,

rezultātā tiks iegūtas aplamas vērtības, kuras turpmāk nevarēs izmantot.

3.1.10. Regresijas aprēķinu funkcijas izveidošana

Autora izveidotas regresijas funkcijas algoritms ir paradīts 11. attēlā. Izveidotā funkcija

sastāv no 5 daļām: kursora atvēršana, datu izgūšana, datu analīze un skaitļošana, kursora

aizvēršana un jaunu datu atgriešana.

20.att. GETKOEF funkcijas blokshēma

31

Page 32: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Lai PL/SQL funkcijai Predict būtu pieejami dati no tabulas koef_tab, kas pieder

vienam Oracle objektu tipam ar pašu funkciju, tiek izmantots Ref kursors. Ref kursors, līdzīgi

kā radītājs programmēšanas valodā C, norāda uz datiem, nevis glabā datu vērtības. Šajā

gadījumā kursors norāda uz vairāku ierakstu datiem, kas tika iegūti vaicājuma izpildes

rezultātā [ODOD4 2015]. Dotajā gadījumā ar vaicājumu autors iegūst no tabulas koef_tab

visus datus objektu veidā.

21.att.. Kursora atvēršanas kods GETKOEF funkcijā

Ierakstu skaita noteikšanai autors izmanto konstrukciju SELECT INTO, kas ieraksta

vaicājuma rezultātu iepriekš definētā mainīgā. Šī vērtība ir nepieciešama turpmākajai

skaitļošanai un tā netiek izmantota kā cikla mainīgais.

22.att. Cikla darbība GETKOEF funkcijā

Lai izgūtu ierakstus no kursora mainīgā k_m_1 tiek izmantota komanda fetch, kas

ievieto ieraksta vērtības X un Y programmas robežās definētos mainīgajos. Konstrukcija

EXIT WHEN K_M_1%NOTFOUNT šajā gadījumā pārbauda, vai no kursora tika iegūts

ieraksts un aptur ciklu brīdī, kad tika izskatīti visi ieraksti. Mainīgais SUMX tiek izmantots

kolonnas X vērtību summēšanai, lai turpmāk izskaitļotu mainīgos A un B. Pēc cika

pabeigšanas kursors k_m_1 tiek aizvērts ar komandu CLOSE K_M_1 un tiek izskaitļotas A

un B vērtības.

Kad A un B ir izskaitļoti, funkcija atgriež abas vērtības funkcijai Predict, lai turpmāk

izkaitļotu mērķa atribūta vērtības. Mērķa atribūta prognozējamā vērtība tiek rēķināta pēc

formulas Y=AA+BB*X. Tā kā AA un BB ir funkcijas iekšējie mainīgie, tad tie ir pieejami

funkcijas izpildes laikā. Lai nav atkārtoti jāizmanto cikls matemātiskā modeļa pielietošanai un

jaunu datu izgūšanai, tiek izmantota MEMBER tipa metodei raksturīga konstrukcija SELF,

kas izmanto katra ieraksta individuālo vērtību (dotajā gadījumā X vērtību).

23.att. Predict funkcijas rezultāta atgriešana

32

Page 33: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

3.1.11. Regresijas aprēķinu funkcijas pielietošana un rezultātu analīze

Funkcijas izsaukšana notiek ar SQL vaicājumu, līdzīgi kā datu izgūšana. Vaicājumā pie

funkcijas jāveršās kā pie objekta metodes, izmantojot konstrukciju VALUE().

24.att. Regresijas funkcijas prediction pielietošana

15. attēlā izveidotais vaicājums atgriež no tabulas koef_tab vērtības X, Y un Prediction

funkcijas vērtību, kas ir individuāla katram ierakstam, bet tiek aprēķināta, izmantojot datus no

skata koef_xy. Lai pielietotu funkciju skatam koef_xz, lietotājam būtu jānorāda skata

nosaukums funkcijas ieejas atribūtu sarakstā, aizvietojot ‘koef_xy’.

25.att. Regresijas funkcijas pielietošanas rezultāts

Rezultātā tika iegūta tabula ar X un Y kolonnām no tabulas koef_tab un kolonna

Predict_Y, kurā ir ierakstīta prognozējamā Y vērtība. Regresijas precizitāte dotajā uzdevumā

nav tik svarīga, kā PL/SQL funkcijas pielietošanas piemērs datizracei. Ar doto funkciju tika

realizēta regresijas metode, nepārvietojot datus no datu bāzēs un nenoslogojot lietotāja

aparatūru, jo PL/SQL metodes izpilde notiek datu bāzes servera pusē, nevis lietotāja pusē.

3.6. Regresijas aprēķinu veikšana lietojot Java valodu (iekļautā valoda)

Neskatoties uz to, ka PL/SQL procedurāla programmēšanas valoda paplašina

programmēšanas iespējas datu bāzes vidē, tās pielietošana nav vienīgais pareizais risinājums

katram no uzdevumiem. Pastāv gadījumi, kad risinājums izpildās ātrāk, ja tas ir implementēts

citā programmēšanas valodā, līdz ar ko radās nepieciešamība pēc vairāku programmēšanas

valodu izmantošanas viena risinājuma (projekta) ietvaros.

33

Page 34: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Programmas izveidošana

Programmas ielāde datu bāzē

PL/SQL funkcijas

izveidošana

Modeļa sagatavošana

Modeļa pielietošana

21. att. Iekšējas valodas programmas izmantošanas darbības shēma

Oracle datu bāze atbalsta Java programmēšanas valodā rakstīto programmu izpildi datu

bāzes servera pusē. Programmas pirmkodu var izveidot izstrādes vidē (piem. Oracle SQL

Developer), pielietojot konstrukciju CREATE OR REPLACE JAVA SOURCE un turpinot ar

programmas pirmtekstu. Cita iespēja ir ielādēt datu bāzē jau esošu .java programmu,

izmantojot loadjava.bat skriptu. Abas iespējas nodrošina programmas kompilēšanu datu bāzē,

taču pēc autora pieredzes, pirmkoda rakstīšana SQL Developer vidē bieži vien noved pie

situācijas, kad programma tiek izveidota, taču nav uzrakstīta sintaktiski pareizi, līdz ar to nav

lietojama. Ielādes gadījumā datu bāze atgriež kļūdu tik ilgi, kamēr .java fails nav pabeigts un

izlabots.

3.6.1. Java programma regresijas metodes realizēšanai

Lai pielietotu iepriekšējā nodaļā aprakstītu regresijas funkciju Java valodā, autors

izmanto loadjava.bat skriptu .java faila ielādei datu bāzē.C:\Users\PC>loadjava.bat -u system/12345@localhost:1521:DB2 -v -r –t D:\Reg.java

Šī darba autors iesaka izmantot loadjava.bat skriptu, nevis SQL Developer vidi .java

programmas pievienošanai, jo dotais skripts norāda programmētājam uz kļūdām programmas

failā, atbrīvojot no nepieciešamības meklēt kļūdas patstāvīgi. Ar augstāk uzrakstītu komandu,

autors ielādē datu bāzē DB2 programmu Reg.java.

Vissvarīgākas īpašības, kas atšķir Java valodā implementēto risinājumu no PL/SQL

risinājuma ir: savienojums ar datu bāzi, atribūtu vērtību izgūšana un rezultātu izvade.

Atšķirībā no PL/SQL funkcijas, Java programma nevar tikt palaista bez papildus izveidota

karkasa, kas ir PL/SQL funkcija Java programmas izpildīšanai.

Lai izveidotu savienojumu ar datu bāzi, pirmkārt jāizveido savienojuma objekts.

Dotajā piemērā savienojuma objekta nosaukums ir conn. Vaicājuma izpildei jāizveido

sagatavotais vaicājums (no angļu – Prepared Statement), kas glabā vaicājumu, nepieciešamu

datu izgūšanai. Vaicājuma rezultāts tiek ierakstīts ResultSet tipa struktūrā, kas ir tabula ar

vaicājuma rezultātiem no datu bāzes.

34

Page 35: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

27.att. Java programmas savienojums ar datu bāzi

Metodes prepareStatement arguments ir vaicājums, kas tiks izmantots savienojumā

ar datu bāzi. Dotajā gadījumā vaicājums ir SELECT [1.kolonna],[2.kolonna] from [tabulas

nosaukums]. Sakarā ar to, ka vaicājums tiek ģenerēts programmas izpildes laikā un argumenti

tiek paņemti no funkcijas atribūtiem, vaicājums tiek glabāts String tipa mainīgajā un var tikt

izmantots vairākkārt darba gaitā.

Lai iegūtu skaitliskās vērtības no ResultSet datu struktūras, tiek izmantota

rs.getFloat(1) konstrukcija, kas iegūst no rs tabulas float tipa vērtību, kas atrodas 1. kolonnā.

Lai pārvietoties uz nākamo rindu, tiek lietota konstrukcija rs.next(). Rezultātu izvadei tiek

izmantota System.out.println konstrukcija, kas izvada tekstu, nevis tabulu, kā SQL vaicājumi.

3.6.2. Java programmas izsaucošas funkcijas izveidošana

Java programmas palaišanai ir nepieciešams izveidot PL/SQL karkasu, kas ir procedūra,

nepieciešamā iekļautas valodas programmām. Šī darba autors izveido paketi

PAKETE_A2_JAVA, kas satur vienu procedūru T1_JAVA_REG. Šajā posmā procedūra tiek

deklarēta, līdz ar ko tiek norādīti visi ieejas atribūti, bet procedūra netiek definēta.

28.att. Paketes PAKETE_A2_JAVA deklarācijas kods

Pēc paketes izveidošanas un metodes deklarēšanas, tā jādefinē, norādot programmas

valodu ar konstrukciju AS LANGUAGE JAVA. Procedūras definēšanā jānorāda java klases

metode (dotajā gadījumā Reg.T1Reg) un attiecīgie ieejas atribūti ar to tipiem Java

programmēšanas valodā, piemēram java.lang.String.

29.att. Paketes PAKETE_A2_JAVA definēšanas kods

35

Page 36: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Neskatoties uz to, ka ir norādīts Java valodas tips String, funkcijas izsaukšanas laikā

lietotājs kā argumentu nodošanai izmanto datu bāzes varchar2 datu tipu. Visas

transformācijas notiek automātiski un lietotājam par to nav jārūpējas.

Pēc karkasa izveidošanas programmu var PL/SQL valodā, vēršoties pie tās kā pie

jebkuras citas PL/SQL funkcijas.

3.6.3. Java programmas pielietošana

Dotajam uzdevumam autors ir izveidojis Java programmu, kas iegūst no jebkuras

tabulas jebkuras 2 kolonnas un, izmantojot abas no tām, iegūst A un B koeficientus un

izskaitļo vienas no kolonnam prognozējamo vērtību. Līdzīgi kā iepriekšejā sadaļā, lietotājam

jāanalizē ievaddati, lai ieejas atribūti būtu lineāri saistīti, citādi lineārās regresijas metodes

rezultāti būs aplami un nelietojami.6.tabula. T1_Java_Reg metodes atribūti

Atribūts Tips Komentāri

X String Mainīgā vērtība, no kuras ir atkarīga mērķa

atribūta vērtība.

Y String Mērķa atribūta vērtība, kas tiks prognozēta

Tabula String Tabulas nosaukums, kas satur kolonnas ar X un

Y noradītām kolonnām.

Lai parādītu procedūras darbību, darba autors pielieto to iepriekš izveidotajai tabulai

koef_tab ar sekojošo vaicājumu:

30.att. Java programmas izsaukšanas kods

Dotais vaicājums prognozēs Y vērtību no X vērtības. Līdzīgi varētu nomainīt kolonnu

nosakumus, lai prognozētu citas vērtības ar citiem ieeju datiem.

31. att. T1_Java_Reg metodes rezultāts

36

Page 37: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Autora izveidota programma sasniedz savu mērķi un prognozē kolonnu vērtības,

pielietojot lineārās regresijas metodi. Rezultāti pilnībā sakrīt ar PL/SQL metodes iegūtiem

rezultātiem un programma tiek palaista un izpildīta datu bāzes serverī, kā tas tika plānots.

Rezultātu precizitāte ir apmierinoša, taču tā pašlaik nav galvenā prioritāte.

3.7. Regresijas aprēķinu veikšana lietojot C valodu (ārējā valoda)

Papildus PL/SQL un Java programmēšanas valodām, šajā darbā tiks apskatīta iespēja

izmantot ārējas valodas (dotajā gadījumā C), kuras izsaukšana notiek ar ārējo procedūru (angl.

external procedure) izmantošanu. Ārējā programmēšanas valoda ir nepieciešama gadījumos,

kad PL/SQL programmēšanas valodā implementēta programma ir, pēc izstrādātāja uzskata,

pārāk sarežģīta, vai arī izpildās ilgāk, nekā C++ valodā implementēts risinājums. Kā piemēru

situācijai, kad C++ valodā izstrādātais risinājums ir ātrdarbīgāks, nekā PL/SQL programma, ir

[ODOD5] minēta skaitliskā integrēšana (angl. numeric integration). Šajā sadaļā tiks aprakstīts

algoritms ārējas C++ valodā uzrakstītas programmas implementēšanai un izsaukšanai no datu

bāzes. Šajā sadaļā netiks apskatītas un salīdzinātas vairākas situācijas, lai nonāktu pie

secinājuma, kuru no programmēšanas valodam izmantot katram konkrētam gadījumam.

3.7.1. Darbības shēma ārējas programmas izmantošanai

Ārējas programmas implementēšana un izmantošana ir līdzīga iekļautas Java valodas

piemēram.

Sadalītas bibliotēkas izveidošana

Programmas izveidošana

Aizstājbibliotēkas definēšana

PL/SQL funkcijas

izveidošana

Modeļa sagatavošana

Modeļa pielietošana

32. att. Darbības shēma ārējai valodai

37

Page 38: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Visu procesu var sadalīt 2 posmos:

1. Darbs ārējā vidē, kas iekļauj sevī programmas un bibliotēkas izveidošanu.

2. Darbs datu bāzes vidē, kas iekļauj PL/SQL funkcijas veidošanu, modeļa sagatavošanu

(tabulu un/vai skatu izveidošana/rediģēšana) un modeļa pielietošanu, izmantojot

iepriekš definētu PL/SQL funkciju.

Saskaņā ar to, ka iekļautas valodas izmantošanas piemērā tika apskatītai vairāki posmi,

kas raksturīgi arī ārējas valodas izmantošanas gadījumam, šajā sadaļā tiks apskatīti tikai ar C

valodu saistītas atšķirības.

3.7.2. Ārējas programmas definēšana datu bāzes vidē

Lai izmantotu ārējas programmas datu apstrādei datu bāzes serverī, jāizmanto sadalīta

bibliotēka (angl. shared library), kas satur ārējas programmas kodētu implementēšanu. Pieeju

sadalītai bibliotēkai nodrošina aizstājbibliotēka (angl. alias library), kuras izveidošana notiek

PL/SQL programmēšanas valodā ar sekojošo vaicājumu (pārņemts no [ODOD5]).CREATE OR REPLACE LIBRARY TestReg AS

'/data_cartridge_dir/libdatastream.so';

Līdzīgi kā tas tika darīts ar Java metodi, C programmai jāizveido PL/SQL izsaucošā

funkcija, ar kuras izmantošanu ārējo programmu varēs turpmāk izmantot datu bāzes vidē.

Funkcijā janorāda tās nosaukums PL/SQL valodā (Predict_Reg), ieejas dati un to tipi (x,y,

koef_tab), atgriežamās vērtības tips, ārējā programmēšanas valoda, kurā ir izveidota

programma (C), bibliotēkas nosaukums, kurā atrodas programma (iepriekš definēta TestReg

aizstājbibliotēka) un programmas nosaukums dotajā bibliotēkā. Papildus tiek izmantota WITH

CONTEXT konstukcija, lai atļautu ārējai funkcijai piekļūšanu datu bāzei nepieciešamo datu

iegūšanai. Bez WITH CONTEXT izmantošanas funkcija nevar vērsties pie datu bāzes ar SQL

vaicājumiem.CREATE OR REPLACE FUNCTION Predict_reg (

x VARCHAR2,

y VARCHAR2,

koef_tab VARCHAR2) RETURN FLOAT

AS LANGUAGE C

LIBRARY TestReg

NAME "C_Reg"

WITH CONTEXT;

Funkcijas izsaukšana notiek PL/SQL valodā tādā pašā veidā kā tika izsaukta Java

valodā implementēta programma. Ārējas programmas izsaukšana demonstrēta 33. attēlā. Lai

izsauktu ārējo programmu, PL/SQL izmanto aizstājbibliotēkas nosaukumu un iegūst no tās 38

Page 39: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

reālo adresi sadalītai bibliotēkai un ziņo notikumu uztvērējam, kas palaiž seeijas aģentu (ja tas

netika norādīts aizstājbibliotēkas izveidošanas brīdī, tad – extproc). Uztvērējs padod aģentam

sadalītas bibliotēkas nosaukumu, ārējas programmas nosaukumu un visus funkcijai padotus

parametrus. Pēc ieejas datu saņemšanas extproc palaiž ārējo programmu uz izpildi un padod

uz PL/SQL visas vērtības, kuras atgrieza ārējā programma. Pēc programmas izpildīšanas un

datu atgriešanas extproc aģents netiek likvidēts, kamēr nav beigusies lietotāja sesija Oracle

datu bāzē, līdz ar ko aģentu var izmantot atkārtoti vienas sesijas laikā [ODOD6].

33. att. Ārējas procedūras izsaukšana (pārņemts no [ODOD6] un pārtulkots)

39

Page 40: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

4. VARIANTU SALĪDZINĀJUMS UN IZVĒRTĒJUMS

Šajā nodaļā autors izvērtē un salīdzina izstrādātos risinājumus biznesa intelekta

ieviešanai Oracle datu bāzē. Iepriekšējā nodaļā tika analizēta datizraces metožu izmantošana

Oracle Advanced Analytics paplašinājuma vidē un tika piedāvāti autora risinājumi 3 dažādās

programmēšanas valodās (PL/SQL, Java, C). Katrs risinājums tiks izvērtēts individuāli un

beigās tiks secināts par tehnoloģijas nepieciešamību un risinājumu implementēšanas iespējām.

4.1. Oracle izstrādāta risinājuma variantu izvērtējums

Katrs no Oracle izstrādāta risinājuma variantiem tiks novērtēts (7. tabula) pēc

sekojošiem kritērijiem:

1. Gala lietotājam nepieciešamās prasmes;

2. Datizraces metodes pielietošanas vienkāršība;

3. Vairāku metožu secīgas izpildes iespējas;

4. Datizraces modeļa modifikācijas iespejas.7. tabula. Oracle risinājumu izvērtējums

Risinājuma variantsNepieciešamās

prasmes

Metožu

pielietošanaSecīga izpilde

Modifikācijas

iespējas

Oracle Data Miner

videNav Vienkāršāka

Gandrīz nepalielina

sarežģītībuPastāv

SQL ar Oracle Data

Miner nodrošinātām

iespējam

1.SQL

2.ODM funkciju

sintakse

Sarežģītāka un

laikietilpīgāka

Palielina metodes

izsaukuma vaicājuma

garumu

Nepastāv, modelis

jāveido no jaunas

Oracle Data Miner risinājumu izstrādes vides izmantošana neprasa no lietotāja nekādu

papildus zināšanu, ja lietotājam ir pieejama programmatūras dokumentācija. Datu analīzes un

informācijas iegūšanas process notiek ar mezglu izmantošanu un iestatīšanu, kas savukārt

neprasa nekādas specifiskas zināšanas, to starpā SQL valodas prasmes. Datizraces metode

notiek 3 posmos: datu sagatavošana, modeļa izveidošana un modeļa pielietošana. Visus

posmus ir iespējams realizēt ar mezglu izvietošanu un sasaisti darbplūsmā, līdz ar ko tiek

būtiski samazināts lietotāja patērētais laiks, salīdzinot ar vaicājumu veidošanas procesu.

Papildus tam, darbplūsmas elementu secīga izvietošana dod iespēju izpildīt vairākas

datizraces metodes nelietojot saliktus vaicājumus (tādus, kuri ieeja izmanto ielikto vaicājumu

40

Page 41: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

izeju). Visas nepieciešamas modeļa modifikācijas lietotājs var veikt darbplūsmā, mainot

elementu izvietojumu, saites starp elementiem un elementu iestātījumus.

SQL valodas izmantošana ar Oracle Data Miner nodrošinātām funkcijam un paketēm

prasa no lietotāja SQL valodas zināšanas, jo tas izmantošana ir nepieciešama vairāku darbību

veikšana. Ka vienu no argumentiem, datizraces funkcija izmanto iestatījumu tabulu, kuras

izveidošana notiek SQL valodā ar CREATE un INSERT komandām. Papildus tam, lietotājam

jāpārzin Oracle Data Miner SQL funkcijas un PL/SQL paketes. Modeļa izveidošanas

vaicājums iekļauj sevī vairāku SQL vaicājumu izmantošanu, līdz ar ko modeļa dati ir pieejami

tikai pēc atbilstoša vaicājuma izmantošanas. Vairākas datizraces metodes var izmantot secīgi

pielietojot vairākus aprēķinu modeļus, taču šīm nolūkam ir nepieciešama salikto vaicājumu

izmantošana. Modeļus var izmantot atkārtoti, bet modeļu modificēšana apskatītajā variantā

nav atbalstīta. Ja rodas nepieciešamība pēc izmaiņām, tad modelis jāizveido no jaunas.

Salīdzīnot Oracle izstrādāta risinājuma divus variantus, autors nonāca pie secinājuma,

ka Oracle Data Miner vide ir lietotājdraudzīgāks lietojums, līdz ar ko tāda risinājuma

izmantošana ir piemērotāka gala lietotājiem ar ierobežotām SQL zināšanam. SQL valodas

izmantošana, no otras puses, nodrošina caurspīdīgāku priekšstatu par izpildāmām darbībām,

jo lietotājs, ja vēlās, var iegūt no datu bāzes metadatus, kas citādi nebūtu pieejami Oracle Data

Miner vidē.

4.2. Autora izstrādāto risinājumu izvērtējums

Šī darba autora izstrādātie risinājumi tiek izvērtēti atsevišķi tādēļ, ka to nolūks ir

demonstrēt alternatīvas risinājumu iespējas, nevis ieviest datu bāzē pilnvērtīgu biznesa

inetelektu. Katrs no autora izstrādātiem risinājumiem tiks novērtēts (8. tabula) pēc sekojošiem

kritērijiem:

1. Risinājuma implementēšanas salīdzinoša sarežģītība (pēc autora

pieredzes);

2. Modificēšanas iespējas;

3. Risinājuma izmantošanas sarežģītība.8.tabula. Autora izstrādāto risinājumu izvērtējums

Risinājums Implementēšana Modificēšanas iespējas Izmantošana

PL/SQL VisvienkāršākaModifikācijas iespējamas,

mainot ievaddatus.

SQL valoda

Java Vidēji sarežģītaPL/SQL bloks

C Vissarežģītāka

41

Page 42: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

PL/SQL valodā risinājuma implementācija ir, pēc autora uzkatiem, visvienkāršāka,

salīdzinot ar citiem variantiem, jo tiek uzreiz definēta PL/SQL funkcija bez nepieciešamības

veidot programmas citās programmēšanas valodās, līdz ar ko samazinās nepieciešamo darbību

skaits. Implementēšana Java valodā ir sarežģītāka tādēļ, ka Java programma jāpievieno datu

bāzei pirms tai vai izveidot izsaucošu PL/SQL funkcija. Papildus tam, jārūpējās par Java

programmas pieslēgšanu datu bāzei datu iegūšanai. Risinājumu C valodā autors uzskata par

vissarežģītāko no izstrādātiem, jo papildus visam iepriekš minētām darbībām, gadījumā ar

ārējo C valodu lietotājam jāveido sadalīta bibliotēka un jāveido norāde uz to datu bāzē.

Sakarā ar to, ka modeļa izveidošana un pielietošana autora izstrādātajos risinājumos tika

apvienota viena darbībā un datizraces modeļi netiek glabāti datu bāzē atkārtotai lietošanai,

visas modifikācijas apŗēķinu modelī vai veikt tikai un vienīgi mainot ievaddatus attiecīgai

funkcijai. Ja rodās nepieciešamība pēc modeļa saglabāšanas, autors iesaka sadalīt funkciju

divās iepriekš minētās daļās un saglabāt modeli tabulas veidā datu bāzē. Tāda pieeja

nodrošina iespēju izmantot modeli vairākas reizes un visas nepieciešamās modifikācijas veikt

modeļu tabulās.

Gala lietotājam nepieciešamas prasmes gatavu risinājumu izmantošanai ir atkarīgas no

risinājuma. Ja lietotājs izmanto PL/SQL funkciju, tad tās izsaukšana autora dotajā piemērā

notiek SQL valodā ar SELECT vaicājumu. Java un C gadījumā funkcija tiek izsaukta ar

PL/SQL bloku, kura izmantošanai ir nepieciešamas PL/SQL zināšanas, kuru līmenis ir

atkarīgs no risinājuma sarežģītības.

42

Page 43: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

NOBEIGUMS

Analīze datu bāzē ir svarīga tehnoloģija, kuras pielietošana kļūst arvien nepieciešamāka,

palielinoties datu apjomam datu bāzēs. Izmantojot analīzes datu bāzē tehnoloģiju, no datu

apstrādes un datizraces tiek atbrīvoti lietojuma serveri un samazināts tīkla noslogojums.

Eksistē vairāki šis tehnoloģijas izstrādājumi, kas paplašina datu bāzes iespējas, nodrošinot

lietotāju ar nepieciešamiem rīkiem datu analīzei datu bāzē un ieviešot biznesa intelektu datu

bāzē.

Tika sasniegti uzstādītie mērķi: tika analizēta tehnoloģija „apstrāde datu bāzē” un tās

realizācijas varianti Oracle datu bāzē. Autors analizēja jau gatavu Oracle risinājumu un

izstrādāja savu risinājumu 3 dažādās programmēšanas valodās, lai ieviestu biznesa intelektu

datu bāzē.

Veicot pētījumu, autors ir nonācis pie šādiem secinājumiem:

1. Ieviešot biznesa intelektu datu bāzē pazūd nepieciešamība pēc datu pārvietošanas

un/vai datu transformācijas;

2. Datu analīze datu bāzē nav ierobežota ar tīkla iespējam;

3. Biznesa intelekta ieviešanai ir iespējams izmantot vairākas programmēšanas

valodas, no kuram izstrādātājs var izvēlēties vienu vai vairākas pēc saviem

uzskatiem.

4. Veicot risinājuma izstrādi, visvairāk grūtību izraisa datu iegūšana analīzei.

Analīzes un aprēķinu procesa izstrāde lielas grūtības neizraisa.

5. Risinājuma implementēšana Java valodā ir elastīgāka par PL/SQL pateicoties tam,

ka glabājamā, procedūrām PL/SQL valodā pastāv vairāki ierobežojumi.

6. Ja radās nepieciešamība pēc modeļa vairākkārtējas izmantošanas bez atkārtotās

izveidošanas, tad pastāv iespēja saglabāt datizraces modeli tabulas veidā. Ar tādas

pieejas izmantošanu, modeli ir iespējams modificēt, mainot tabulas saturu ar SQL

vaicājumu izmantošanu.

Pētījuma gaitā autors nonācis pie secinājuma, ka paša izstrādātais risinājums datizraces

metožu implementēšanai ir elastīgāks. Sakarā ar to, ka izstrādātājam ir pieeja pilnam

programmas kodam, risinājuma modificēšana netiek ierobežota nekādā veidā. Gadījumā ar

Oralce izstrādāto risinājumu, lietotāja modificēšanas iespējas ir ierobežotas ar lietotāja

interfeisā pieejamiem rīkiem. Svarīgi atzīmēt, ka ar R programmēšanas valoda paplašina datu

analīzes iespējas, taču tā

43

Page 44: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

Darba autors iesaka izmantot izstrādāto darbu datizraces metožu apgūšanai un biznesa

intelekta ieviešanai Oracle datu bāzē, jo tajā tiek aprakstītas vairākas datizraces metodes, kas

ir nepieciešamas, veicot datu analīzi. Informācijas iegūšana no datiem ir demonstrēta ar

vienas metodes izmantošanu gatavā Oracle izstrādātā risinājumā un paša autora risinājuma

implementēšanā.

Turpmāk šo darbu varētu turpināt, pielietojot doto tehnoloģiju lielām datu bāzēm ar

mērķi:

1. Novērtēt tehnoloģijas priekšrocības salīdzinājumā ar tradicionālo pieeju;

2. Konstatēt iespējamos trūkumus;

3. Dziļāk analizēt tehnoloģiju, pielietojot to reāliem datiem;

4. Uzlabot un papildināt izstrādājumu, lai paplašinātu gala lietotāja iespējas un

samazinātu prasības.

44

Page 45: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

LITERATŪRA

[Brobst 2009] Stephen Brobst, Keith Collins, Paul Kent, Michael Watzke..High performance analyrics with in-database processing// 1999. 1-2.lpp.

[Gartner] Gartner IT Glossary / Internets. - http://www.gartner.com/it-glossary/business-intelligence-bi skatīts 19.05.2015.

[Gullo 2015] Gullo, F., From Patterns in Data to Knowledge Discovery: What Data Mining Can Do. Physics Procedia, 2015, Nr.62, 18.-22.lpp.

[Logi] Logi Analytics / Internets. - http://www.logianalytics.com/resources/bi-encyclopedia/business-intelligence/ skatīts 16.05.2015.

[ODOD1] Oracle Database Online Documentation / Internets. -http://docs.oracle.com/cd/B28359_01/java.111/b31225/chone.htm#BABCIHDC skatīts 29.03.2015.

[ODOD2] Oracle Database Online Documentation / Internets. -https://docs.oracle.com/database/121/LNPLS/toc.htm skatīts 29.03.2015.

[ODOD3] Oracle Database Online Documentation/ Internets.- http://docs.oracle.com/cd/B19306_01/appdev.102/b14260/adobjint.htm skatīts 29.03.2015.

[ODOD4] Oracle Database Online Documentation / Internets. - http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/cursor_variable.htm#LNPLS01312 skatīts 30.03.2015.

[ODOD5] Oracle Database Online Documentationhttp://docs.oracle.com/cd/B19306_01/appdev.102/b14289/dcimethcj.htm

[ODOD6] Oracle Database Online Documentationhttp://docs.oracle.com/cd/B10501_01/appdev.920/a96595/dci04lng.htm

[Olap] Olap.com / Internets. - http://olap.com/learn-bi-olap/olap-bi-definitions/business-intelligence/ skatīts 19.05.2015.

[Oracle] Oracle/ Internets. – http://www.oracle.com/technetwork/database/options/advanced-analytics/overview/index.html, skatīts 11.12.2014.

[TBG] The Bloor Group. The New Generation of Database Technology Includes Semantics and Search – http://insideanalysis.com/, skatīts 11.12.2014.

[Tierney 2014] Tierney, B. Predictive Analytics Using Oracle Data Miner: Develop & Use Data Mining Models in Oracle Data Miner, SQL & PL/SQL. McGraw-Hill Education – Europe, 2014. 464.lpp. ISBN 9780071821674.

45

Page 46: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

PIELIKUMI

46

Page 47: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

1. pielikums

PL/SQL valodā implementētā risinājuma pirmkodsPrediction Member tipa funkcija.

Getkoef apakšfunkcija

47

Page 48: RĪGAS TEHNISKĀ UNIVERSITĀTE -   Web view  skatīts 16.05.2015. [ODOD1]Oracle Database Online Documentation / Internets

2. pielikums

Java valodā implementētā risinājuma pirmkods.

48