Skip to content
Snippets Groups Projects
Commit e5f953d0 authored by Radek Puš's avatar Radek Puš
Browse files

Latex - Quality test

parent 564f0b53
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -18,6 +18,7 @@
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{textgreek}
\usepackage{array, multirow}
% \usepackage{amssymb} %additional math symbols
 
\usepackage{dirtree} %directory tree visualisation
......@@ -41,7 +42,7 @@
\authorWithDegrees{Radek Puš} %jméno autora včetně současných akademických titulů
\author{Radek Puš} %jméno autora bez akademických titulů
\supervisor{Ing. Miroslav Balík, Ph.D.}
\acknowledgements{Děkuji společnosti Trask Solutions a.s., zejména pak Ing. Petru Hnízdilovi a Ing. Pavlu Svobodovi, za veškeré konzultace a datové podklady k práci. Dále děkuji své přítelkyni Mariyi Tsanko, za dodání doplňujících dat ze svých bankovních účtů a svým rodičům, za veškerou podporu při psaní práce}
\acknowledgements{Děkuji společnosti Trask Solutions a.s., zejména pak Ing. Petru Hnízdilovi a Ing. Pavlu Svobodovi, za veškeré konzultace a datové podklady k práci. Dále děkuji své přítelkyni Mariyi Tsanko, za dodání doplňujících dat ze svých bankovních účtů, PaeDr. Jiřině Mališové za korekturu anglicky psaného abstraktu a svým rodičům, za veškerou podporu při psaní práce}
\abstractCS
{V Bakalářské práci byl řešen problém předpovídání budoucích transakcí klientovi, na základě jeho uplynulé finanční historie. Cílem práce je pokusit se implementovat toto předvídání pomocí umělé inteligence spolu s vytvořením webového rozhraní. Toho bylo dosaženo pomocí Angularu, tvořícího klientskou aplikaci, frameworkem .NET Core, který tuto aplikaci obsluhuje ve spojení s databází Microsoft SQL. Zabezpečení využívá JWT tokenu a o šifrování uživatelských hesel se stará RFC~2898/SHA512. Umělá inteligence byla řešena jako lineární regrese.
 
......@@ -752,27 +753,178 @@ Jednou z podmínek práce je, aby byla aplikace responsivní. Tedy, že web bere
\label{responsivityComparsion}
\end{figure}
 
%TODO ============================================
\section{Testování kvality - TODO dodělat}
Pro testování kvality práce bylo využito výpisu transakční historie, která byla oříznuta o jeden měsíc a porovnána s historií původní. Tím vznikl obraz, nakolik jsou jednotlivé předpovědi přesné.
\subsection{Odhad neuronovou sítí}
\begin{enumerate}
\item tabulka: (5 vs 14, 1x špatně)
\end{enumerate}
\subsection{Odhad průměrem}
\begin{enumerate}
\item line:
\item dny:
\end{enumerate}
\section{Testování kvality}
Pro testování kvality práce bylo využito výpisu transakční historie z vlastního účtu, která byla oříznuta o jeden měsíc a porovnána s historií původní. Tím vznikl obraz, nakolik jsou jednotlivé předpovědi přesné.
Vlastní historie byla vybrána v časovém úseku od 1.1.2019 do 31.8.2019 a byla porovnávána s následujícími 28 dny. Dalším důvodem bylo to, že své vlastní transakce znám a to umožňuje lepší náhled na to, které předpovědi jsou špatně a které dobře. Daný úsek byl zase vybrán z toho důvodu, že jsem se v tu dobu choval podobně (náhlá změna chování by nepříznivě ovlivnila výsledky).
\subsection{Předpověď opakujících se transakcí}
Opakující se transakce jsou vyhodnocovány pomocí posledních dvou týdnů nahrané historie. Tyto týdny určí, jak se bude uživatel chovat později.
Vyhodnocení, které transakce se opakují a které nikoli, je velmi individuální. Pro testy byly vybrány ty částkou si blízké a jsou zobrazeny níže (spolu s tabulkou veškerých provedených transakcí)
\newline \newline
\hspace*{-1cm}
\begin{tabular}{|c |c |c |c|}
\hline
\multicolumn{4}{|c|}{Provedené transakce (částky v Kč)} \\\hline
1. týden & 2. týden & 3. týden & 4. týden \\\hline
15,00 & 15,00 & 15,00 & 15,00 \\\hline
100,00 & 43,00 & 25,20 & 15,00 \\\hline
118,00 & 70,30 & 88,00 & 15,00 \\\hline
123,00 & 86,00 & 90,00 & 80,00 \\\hline
180,00 & 113,00 & 95,00 & 120,00 \\\hline
248,00 & 119,00 & 140,00 & 120,00 \\\hline
250,00 & 124,00 & 159,00 & 135,00 \\\hline
280,00 & 250,00 & 159,90 & 135,00 \\\hline
465,00 & 347,60 & 180,00 & 154,00 \\\hline
500,00 & 857,70 & 250,00 & 239,00 \\\hline
580,00 & 1302,00 & 556,00 & 250,00 \\\hline
1146,00 & & 1000,00 & 500,00 \\\hline
1470,00 & & 1596,74 & \\\hline
\end{tabular}
\hspace{0.25cm}
\begin{tabular}{|c |c |c |c|}
\hline
\multicolumn{4}{|c|}{Transakce které se opakují (částky v Kč)} \\\hline
1. týden & 2. týden & 3. týden & 4. týden \\\hline
15 & 15 & 15 & 15 \\\hline
100 & 86 & 88 & 80 \\\hline
118 & 113 & 95 & 120 \\\hline
123 & 119 & 140 & 135 \\\hline
180 & 124 & 159 & 135 \\\hline
250 & 250 & 250 & 250 \\\hline
465 & 347,60 & 556 & 500 \\\hline
\end{tabular}
\newline \newline
Pro tabulku předpovědí je však nutné dodat, že částka 250,00 Kč se začala objevovat až od 1.9.2019. Tato částka tvoří pomyslnou změnu chování uživatele a přestože je později v tabulkách s daty uvedena, nebyla uvažována jako špatná předpověď, vzhledem k tomu, že algoritmy neměly dostatečná data k jejím předpovězení.
\subsubsection{Předpověď neuronovou sítí}
Neuronová síť dokázala předpovědět čtyři transakce a dvě vynechala. To je ekvivalentem 66,7\%, tedy nadpoloviční většina.
\newline \newline
\begin{tabular}{|c |c |c |c ||c|}
\hline
\multicolumn{5}{|c|}{Predikce neuronovou sítí (hodnoty v Kč)} \\\hline
1. týden & 2. týden & 3. týden & 4. týden & predikce \\\hline
15,00 & 15,00 & 15,00 & 15,00 & 19,00 \\\hline
100,00 & 86,00 & 88,00 & 80,00 & \\\hline
118,00 & 113,00 & 95,00 & 120,00 & 120,00 \\\hline
123,00 & 119,00 & 140,00 & 135,00 & \\\hline
180,00 & 124,00 & 159,00 & 135,00 & 148,50 \\\hline
250,00 & 250,00 & 250,00 & 250,00 & \\\hline
465,00 & 347,60 & 556,00 & 500,00 & 420,00 \\\hline
\end{tabular}
Nevyplněná pole v tabulce (sloupec predikce) označují, v kterých případech se neuronové síti nepodařilo předpovědět opakování transakcí. Naopak částky označují odhadovanou velikost.
\subsubsection{Předpověď porovnáním částky}
Předpovídání opakujících se transakcí na základě částky bylo méně úspěšné, než předvídání neuronovou sítí. Tento algoritmus sice byl schopen předpovědět všechny opakující se transakce, avšak uvedl dalších pět transakcí, jež se zřejmě neopakovaly.
Celková úspěšnost předpovědi byla stanovena jen jako 16,67\%. Tato hodnota byla stanovena tak, že se každá špatná předpověď odečetla od předpovědi správné. Bylo šest opakujících se transakcí a pět špatně předpovězených. Výsledek proto byl spočten následovně: \mbox{6-5/6 = 0,1667}
\newline \newline
\begin{tabular}{|c |c |c |c ||c|}
\hline
\multicolumn{5}{|c|}{Předpověď porovnáním částky (hodnoty v Kč)} \\\hline
1. týden & 2. týden & 3. týden & 4. týden & predikce \\\hline
15,00 & 15,00 & 15,00 & 15,00 & 15,00 \\\hline
& & & & 15,00 \\\hline
& & & & 15,00 \\\hline
& & & & 19,00 \\\hline
100,00 & 86,00 & 88,00 & 80,00 & 82,70 \\\hline
118,00 & 113,00 & 95,00 & 120,00 & 100,00 \\\hline
123,00 & 119,00 & 140,00 & 135,00 & 133,00 \\\hline
180,00 & 124,00 & 159,00 & 135,00 & 138,00 \\\hline
& & & & 146,90 \\\hline
& & & & 148,50 \\\hline
250,00 & 250,00 & 250,00 & 250,00 & \\\hline
465,00 & 347,60 & 556,00 & 500,00 & 420,00 \\\hline
\end{tabular}
\newline \newline
V přiložené tabulce lze, obdobně jako v předcházející sekci, ve sloupci predikce vidět, jaké částky byly odhadovány. Řádky s nevyplněnými poli v jednotlivých týdnech potom ukazují, které hodnoty byly předvídány jako opakují se, ač tomu tak nebylo.
\subsection{Předpověď velikosti výdajů}
Predikce výdajů představuje odhad kumulativní částky všech transakcí pro budoucí dny a to na základě průměru ze všech nahraných dat. Neuvažují tedy pouze opakující se transakce.
\newpage
\subsubsection{Předpověď na následující čtyři týdny}
Odhad na následující čtyři týdny obsahuje 28 položek, přičemž každou položku lze považovat za samostatný text.
 
\subsection{Odhad částkou}
\begin{enumerate}
\item tabulka:
\item druh:
\end{enumerate}
Úspěšnost vyhodnocení byla rozdělena na částku a množství transakcí. Odhad částky se povedl pouze u jedné čtvrtiny všech dnů, tedy rovných 25\%. Pro množství transakcí k danému dni byl výsledek lepší. V tomto případě se povedlo odhadnout jedenáct dnů správně, tzn. 39,29\%. Kumulativní úspěšnost předpovědi je pak rovna 32,14\%.
\newline \newline
\newcommand{\breakcell}[2]{
\vbox{\setbox0\hbox{\strut #2}\hbox to\wd0{\hss\strut #1\hss}\copy0}
}
\begin{tabular}{|c |c |c |c |c |c |c |c|}
\hline
\multicolumn{7}{|c|}{Předpověď na následující čtyři týdny} \\\hline
\multirow{3}{*}{Den} & \multicolumn{2}{c|}{Test} & \multicolumn{2}{c|}{Odhad} & \multicolumn{2}{c|}{Správně} \\
& \breakcell{útrata}{(v Kč)} & \breakcell{počet}{transakcí} & \breakcell{útrata}{(v Kč)} & \breakcell{počet}{transakcí} & \raisebox{0.5em}{útrata} & \breakcell{počet}{transakcí}\\\hline
1 & 0,00 & 0 & 284,10 & 1,00 & ne & ne\\\hline
2 & 0,00 & 0 & 1381,16 & 1,67 & ne & ne\\\hline
3 & 1646,00 & 2 & 252,82 & 1,38 & ne & ano \\\hline
4 & 963,00 & 3 & 147,96 & 1,56 & ne & ne \\\hline
5 & 133,00 & 2 & 352,78 & 2,13 & ne & ano \\\hline
6 & 1930,00 & 3 & 373,97 & 2,40 & ne & ano \\\hline
7 & 803,00 & 3 & 476,00 & 1,20 & ne & ne \\\hline
8 & 347,60 & 1 & 312,00 & 2,17 & ano & ne \\\hline
9 & 2159,70 & 2 & 2559,11 & 2,20 & ano & ano \\\hline
10 & 70,30 & 1 & 688,84 & 2,40 & ne & ne \\\hline
11 & 503,00 & 4 & 194,21 & 2,13 & ne & ne \\\hline
12 & 113,00 & 1 & 481,39 & 2,00 & ne & ne \\\hline
13 & 134,00 & 2 & 352,55 & 2,50 & ne & ano \\\hline
14 & 0,00 & 0 & 274,36 & 2,17 & ne & ne\\\hline
15 & 646,00 & 2 & 162,80 & 2,80 & ne & ano \\\hline
16 & 1180,00 & 2 & 119,44 & 2,33 & ne & ano \\\hline
17 & 1596,74 & 1 & 286,05 & 1,00 & ne & ano \\\hline
18 & 409,90 & 2 & 288,41 & 2,00 & ano & ano \\\hline
19 & 95,00 & 1 & 231,05 & 3,00 & ne & ne \\\hline
20 & 299,00 & 2 & 276,09 & 2,86 & ano & ano \\\hline
21 & 128,20 & 3 & 225,56 & 3,00 & ano & ano \\\hline
22 & 610,00 & 4 & 192,30 & 2,00 & ne & ne \\\hline
23 & 0,00 & 0 & 512,50 & 2,67 & ne & ne\\\hline
24 & 393,00 & 2 & 542,50 & 1,00 & ano & ne \\\hline
25 & 370,00 & 2 & 183,05 & 3,67 & ne & ne \\\hline
26 & 150,00 & 2 & 553,63 & 4,00 & ne & ne \\\hline
27 & 135,00 & 1 & 140,68 & 3,20 & ano & ne \\\hline
28 & 120,00 & 1 & 3229,67 & 3,00 & ne & ne \\\hline
\end{tabular}
\newpage
\subsubsection{Předpověď na jednotlivé dny v týdnu}
Předpověď množství transakcí a jejich počtu vychází z průměru jednotlivých dnů. Tato předpověď byla postupně porovnána s následujícími třemi týdny. Celkovvou výši transakcí i jejich počet lze vidět v tabulkách uvedených níže. Zároveň je zde uvedena tabulka, která ukazuje, který odhad byl považován ještě za správný a který nikoli.
\newline \newline
\begin{tabular}{|c |c |c |c |c |c |c |c |c|}
\hline
\multicolumn{9}{|c|}{Předpověď na týden (částka v Kč)} \\\hline
\multirow{2}{*}{Den} & \multicolumn{2}{c|}{Odhad} & \multicolumn{2}{c|}{Test 1} & \multicolumn{2}{c|}{Test 2} & \multicolumn{2}{c|}{Test 3} \\
& částka & počet & částka & počet & částka & počet & částka & počet \\\hline
Po & 237,80 & 1,09 & 0,00 & 0 & 2 159,00 & 2 & 1 180,00 & 2 \\\hline
Út & 1 143,05 & 2,22 & 1 646,00 & 2 & 70,30 & 1 & 1596,74 & 1\\\hline
St & 442,55 & 1,44 & 963,00 & 3 & 503,00 & 4 & 409,90 & 2\\\hline
Čt & 203,41 & 2,34 & 133,00 & 2 & 113,00 & 1 & 95,00 & 1 \\\hline
& 404,71 & 2,78 & 1 930,00 & 3 & 134,00 & 2 & 249,00 & 2 \\\hline
So & 298,32 & 2,74 & 803,00 & 3 & 0,00 & 0 & 128,00 & 3 \\\hline
Ne & 1 076,40 & 2,34 & 89,00 & 2 & 347,60 & 1 & 646,00 & 2 \\\hline
\end{tabular}
\newline \newline \newline
\begin{tabular}{|c |c |c |c |c |c |c|}
\hline
\multicolumn{7}{|c|}{Správnost předpovědi na týden} \\\hline
\multirow{2}{*}{Den} & \multicolumn{2}{c|}{Test 1} & \multicolumn{2}{c|}{Test 2} & \multicolumn{2}{c|}{Test 3} \\
& částka & počet & částka & počet & částka & počet \\\hline
Po & ne & ne & ne & ne & ne & ne \\\hline
Út & ano & ano & ne & ne & ano & ne \\\hline
St & ano & ne & ano & ne & ano & ano \\\hline
Čt & ano & ano & ano & ne & ne & ne \\\hline
& ne & ano & ne & ano & ne & ano \\\hline
So & ne & ano & ne & ne & ne & ano \\\hline
Ne & ne & ano & ne & ne & ano & ano \\\hline
\end{tabular}
\newline \newline
Z uvedených údajů lze vyčíst, že částku se podařilo správně odhadnout celkem osmkrát, tedy s úspěšností 38,1\%. Oproti tomu počet transakcí se podařilo odhadnout v deseti případech. Úspěšnost toho odhadu tedy dosahuje 47,62\%. Kumulativní úspěšnost všech předpovědí je proto 42,86\%.
 
\newpage
%TODO druhý uživatel
\section{Testování nezávislým uživatelem}
Dalším testem bylo ohodnocení aplikace nezávislým člověkem. Dotyčný ale byl seznámen se zaměřením aplikace a byl mu stažen výpis z účtu a umístěn na plochu. Celý test pak tvořilo několik bodů, které má tento potencionální uživatel projít a vyhodnotit.
......@@ -842,7 +994,6 @@ Jako možná další zásadní rozšíření bych uvedl doporučování produkt
 
\appendix
 
%============= seznam zkratek disabled ===================
\chapter{Seznam použitých zkratek}
\begin{description}
\item [JSON] JavaScript Object Notation
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment