Anda di halaman 1dari 37

Predictive

Prescriptive
Visualization
Let’s Deploy!!!
by Sindhu Wardhana & Agung Septia Wibowo
What We Have Learn So Far

1. Math and Stats


Kita belajar dasar konsep 4. ETL and Clustering
Kita belajar tentang ETL
dari DA secara sederhana dan konsep clustering

2. Python for Data Analytics


Kita belajar cara 5. Hadoop and GraphDB
Kita belajar tentang big
menggunakan tools DA data dan graphDB (Neo4j)

3. Data Integration and Cleansing


Kita belajar mengolah data 6. ML and NLP
Kita belajar teknik-teknik
di awal (Data Preparation) advanced DA prediksi, dan
pengolahan text
Why Visualization Important?
Predictive vs Prescriptive
Inputs
Options and
Predictive

Options, Predictive
and Prescriptive

Predictive Menurut anda apa saja


yang perlu diperhatikan
Prescriptive dalam penyajian analisa?
Important Things???

It Works Visualisasi Accuracy


Apakah visualisasi Apakah visualisasi Apakah prediksi dan
prediksi dan preskripsi memudahkan preskripsi akurat?
bekerja? pengguna?

Usefulness Integrasi Improveness


Apakah prediksi, Apakah data dan Apakah model terus
preskripsi dan visualisasi terintegrasi dilakukan perbaikan
visualisasi berguna? dengan baik? agar lebih akurat?
What is UX UI?

"User experience"
encompasses all aspects
of the end-user's
interaction with the
company, its services,
and its products.”
(Nielsen-Norman Group)
Examples
Examples
Examples
It’s hard to apply UX in Gov
Sector,
• Ingrained sceptics
why? (1)
: orang lama terlalu biasa melakukan hal yang sama

• Leadership void : tidak ada dukungan dari dari level pemimpin tinggi

• Disengaged stakeholders : tidak berkomunikasi dengan baik dengan stakeholders

• Bureaucratic processes : proses birokrasi pengadaan dan struktur organisasi

• Insufficient budgets : keterbatasan biaya untuk riset UX

“UX supporters and change agents at the C-


suite level can make all the difference” - ERIS
It’s hard to apply UX in Gov
Sector, why? (2)
• Time constraint : waktu pengerjaan project biasanya memiliki jadwal yang ketat

• Limited capabilities : tidak banyak pegawai yang berkompetensi di bidang UX

• Misunderstandings about : tidak memahami apa yang sebenarnya user inginkan


the user

• Misunderstandings UX : tidak memehami bahwa UX tidak sama dengan UI

• Siloed projects : pengembangan seringkali terpisah-pisah

“Customer experience winners look to do more than stick an Elastoplast [or Band-
Aid] on customer service through superficial technology changes. Instead, they
examine all the people, processes and technology behind every step, identifying all
the systems, applications and data that support the journey.”
Visualization Design Guidelines

https://data.london.gov.uk/blog/city-intelligence-data-design-guidelines/
Storytelling with Data
200 years that changed the world
Storytelling with Data*:

1. Understand the context

2. Choose an appropriate visual display

3. Eliminate clutter

4. Focus attention where you want it

5. Think like a designer

6. Tell a story

https://www.gapminder.org/tools/#$chart-type=bubbles&url=v1

*Cole Nussbaumer K (2015). “Storytelling with


Data”
Data Visualization Tools
Top Visualization Softwares
Visualization with Tableau
(Public version)
https://public.tableau.com/en-us/s/download
https://public.tableau.com/en-us/s/resources

Steps:
- Connect to Data
- Data Preparation
- Create Charts
- Create Dashboard & Story
Praktik Penggunaan Tableau
Prescriptive Analytic dengan Linear Programming
● Mathematical programming (Optimization) adalah area dalam bisnis analitik yang
bertujuan untuk menemukan solusi yang optimal, atau paling efisien, dalam
menggunakan sumber daya yang terbatas untuk mencapai tujuan individu atau bisnis.
● Linear Programming adalah teknik untuk menemukan solusi atas permasalahan
Optimization dengan linear objective function dan linear constraint.

Contoh Kasus:
Blue Ridge Hot Tubs adalah sebuah perusahaan yang menjual dua model bak air panas:
Aqua-Spa dan Hydro-Lux. Setiap Aqua-Spa membutuhkan 9 jam kerja dan 12 tubing;
setiap Hydro-Lux membutuhkan 6 jam kerja dan 16 tubing. Setiap Aqua-Spa yang
diproduksi menghasilkan keuntungan $350, dan setiap Hydro-Lux yang diproduksi
menghasilkan keuntungan sebesar $300. Perusahaan memiliki 200 pompa, 1.566 jam
kerja, dan tabung 2.880 tubing.
Berapa jumlah optimal produksi Aqua-Spa dan Hydro-Lux untuk mendapatkan
keuntungan maksimal dengan resource yang saat ini tersedia?
Solusi optimal berdasarkan Linear Programing

Constraint:
Objective:
1X1 + 1X2 <= 200 }
MAX: 350X1 + 300X2 } profit
pump
9X1 + 6X2 <= 1566 }
labor
12X1 + 16X2 <= 2880 } tubing
X1, X2 >= 0 } nonnegativity
Excel Solver

https://support.microsoft.com/en-us/office/load-the-solver-add-in-in-excel-612926fc-d53b-46b4-872c-e24772f078ca
Perhitungan Solusi Optimal dengan Excel Solver

Variable Cells: $C$5:$D$5


Constraints:
$E$9:$E$11 <= $F$9:$F$11
$C$5 >= 0
$D$5 >= 0
Objective Cells:
$E$6

Formulas:
E6 = C6*C5+D6*D5
E9 = C9*C5+D11*D5
E10 = C11*C5+D11*D5
E11 = C11*C5+D11*D5
Penggunakan Excel Solver
Otomasi dengan Excel Macro/ VBA

Dengan menggunakan Macro/VBA pada excel,


dapat dibuat otomasi perhitungan solusi optimal
dari parameter yang ditentukan (dalam hal ini
resources)
Visualisasi dan Deployment di Python
Plotting tools Web App Deployment tools
Deploy Web App dengan Streamlit
import streamlit as st
Import plotly_express as px
1. Virtual Environment (optional) def main():
 Create : python –m venv """App with Streamlit"""
<venv_name> st.title("Hello Data Analyst!")
 Activate: df = px.data.gapminder().query(
<venv_name>\Scripts\activate "country == 'Indonesia’ “)
fig = px.bar(df, y='pop', x='year’,
2. Install streamlit color='pop’)
 pip install streamlit st.write(fig)
3. Create streamlit app if __name__=='__main__':
 import streamlit & main()
dependencies required
 save app as <app_name>.py
4. Running streamlit app
 streamlit run <app_name>.py
5. Deploy web app to share.streamlit.io
 Request invitation streamlit.io/sharing

 Connect to github account


Deploy ML & LP model in Streamlit
Deploy Web App dengan Flask
from flask import Flask

app = Flask(__name__)
@app.route('/')
def main():
………
if
__name__=='__main__'
:
app.run()

Anda mungkin juga menyukai