Friday, March 29, 2024

Data Mesh

 ရက်စွဲ - ဇူလိုင် ၂၃

Data Mesh ဆိုတData တွေကို စီမံကိုင်တွယ်ဖို့ နည်းလမ်းတစ်ခု ဖြစ်ပါတယ်။ ယခင် သမာရိုကျ Data Management နည်လမ်းတွေက,နေ ခွဲထွက်ထားတဲ့ နည်းလမ်းတစ်ခုလည်း ဖြစ်ပါတယ်။ Mesh ဆိုတဲ့အတိုင်ပဲ ကြီးမာတဲ့ လုပ်ငန်းအဖွဲ့အစည်းတွေမှာ ရှိတတ်တဲ့ ရှုပ်ထွေးများပြားလှသော Data များကိစီမံရာမှာ သုံးပြုရန် ဖြစ်ပါတယ်။ ဒီနည်းလမ်းကို ThoughtWorks Technology မှ Zhamak Dehghani က, စတင်ကာ မိတ်ဆက် ပေးခဲ့တာ ဖြစ်ပါတယ်။ Data Mesh ရဲ့ တည်ဆောက်ပုံက Data တွေကို Data Warehouse သို့မဟုတ် Data Lake ထဲမှသိမ်းဆည်းပြီး နည်းပညာရှင် တွေက,ပဲ အရာရာ ထိန်းချုပ်စီမံတာမျိုးကို အားမပေးပါဘူး။ ဘာလို့လဲ ဆိုရင် ပုံမှန်အတိုင်း နေ့စဥက်ဆက် Data တွေကို သိမ်းဆည်းရာက, လုပ်ငန်းကြီးထွားလာတဲ့အခါ Data တွေ အမြောက်အမြား ဖြစ်လာတဲ့အခါ စီမံရတာ ခက်ခဲလာတတ်တာမျိုး၊ အကယ်၍ Silos Data တွေ ဆိုရင် Data Consistency, Data Quality တွေ အတွက် လုပ်ဆောင်ရမယ့်အဆင့်တွေ ရှိလာတာမျိုးနဲ့ အခြားသော ရှိလာနိုင်မယ့် ပြဿနာတို့ကို လျှော့ချနိုင်ဖို့ ဖြစ်ပါတယ်။

Data Mesh Architecture မှမတူညီတဲ့ Business Unit အသီသီးအတွက် သက်ဆိုင်ရData တွေကို ပိုင်ဆိုင်မယ့် တစ်နည်းအားဖြင့် တာဝန်ယူရမယ့် Domain တွေ ကိုယ်စီရှိပါမယ်။ Domain တွေဆိုတTeam ပုံစံမျိုကို ရည်ညွှန်းတာ ဖြစ်ပါတယ်။ ဒီ Team တစ်ခုချင်စီမှာ သီးခြားကျွမ်းကျင်မှု ကိုယ်စီရှိပါလိမ့်မယ်ဒါ့ကြောင့် မိမိရဲ့ Team အတွက် တာဝန်ယူရမယ့် Data တွေကိုသလျှင် ကိုင်တွယ်ရမှာ ဖြစ်ပါတယ်။ ဒါပေမယ့်လည်း တခြားတဖက်မှာ Data တွေတိုင်းကို Product တွေ အဖြစ် မှတ်ယူပြီး လုပ်ငန်း၊ အဖွဲ့အစည်း တွင်းမှာရှိတဲမည်သူမဆို ရယူသုံးစွဲနိုင်ရပါမယ်။ Product ထုတ်ကုန်ဆိုတာ အမျိုးမျိုး ဖြစ်နိုင်ပါတယ်။ ဆိုလိုချင်တာက, မတူညီတဲ့ Datasets, Data Streams, သို့မဟုတ် Data APIs တွေ ပါဝင်ပါလိမ့်မယ်။ လုပ်ငန်အတွင်းမှာ သီသန့် Data Product တွေကိပိုင်ဆိုင်တဲ့ Domain Team တွေ များစွာရှိနေပေမယ့် ဒီ Team တွေအချင်ချင်းကြား မျှဝေသုံလို့ရမယ့် လိုအပ်တဲ့ ထောက်ပံ့မှု၊ နည်းညာ Tools တွေကို ထိန်းချုပ်စီမံမယ့် Data Platform တစ်ခုလည်တစ်ခါတစ်ရံမှာ ရှိနေတတ်ပါတယ်။ ဒါကို Data platform as a service လို့ခေါ်ပါတယ်။

Ref:

1. BeyondTechnology:CreatingBusinessValueWithDATAMESH

2. https://www.thoughtworks.com/what-we-do/data-and-ai/data-mesh/creating-business-value-with-data-mesh-whitepaper

Wednesday, March 27, 2024

Anonymous Email Forwarding

 ရက်စွဲ၉.၀၁.၂၀၁၉

Domain-based email address တစ်ခုရှိထားခြင်းဟာ personal သုံးချင်ရင်ဖြစ်ဖြစ်၊ ဒါမှမဟုတ် professional ဆန်ဆန်သုံးချင်တဲ့အခါဖြစ်ဖြစ် နှစ်ခုလုံးအတွက် အရေးပါတာ လူတိုင်းသိပြီး ဖြစ်ပါလိမ့်မယ်။ အထူးသဖြင့် online ပေါ်မှာ အလုပ်လုပ်တဲ့အခါ မိမိရဲ့ Business အတွက် ပိုမို Brand ကျ,ကျ ကြေငြာနိုင်သလို အခြားသော စီးပွါးဖက်များနှင့် တွဲပြီး လုပ်ကိုင်တဲ့အခါမှာလည်း တသီးတသန့် professional ဖြစ်စေဖို့ ထောက်ပံ့ပေးနိုင်ပါတယ်။

ဆိုခဲ့သလိုပါပဲ...မိမိရဲ့ ฺBusiness ကိုသော်လည်းကောင်း၊ မိမိတစ်ကိုယ်ရေအတွက်သော်လည်းကောင်း Unique Identity ဖြစ်စေတာကတော့ Domain-based email တွေ သုံးရခြင်းရဲ့ ကောင်းကျိုးတွေထဲက တစ်ခုဖြစ်ပါတယ်။ လူသိများကြတဲ့ email provider တွေဖြစ်တဲ့ G-mail, Yahoo နဲ့ Outlook စတာတွေကတော့ နိုင်ငံလူမျိုး မရွေး လူတိုင်း သုံးကြတာဖြစ်လို့ Unique မဖြစ်ပါဘူး။ အားသာချက်ကတော့ အချိန်မရွေး အလကား Free သုံးနိုင်တာဖြစ်ပါတယ်။ Domain-based email တွေကတော့ သက်ဆိုင်ရာဆီကနေ ဝယ်သုံးရပါလိမ့်မယ်။

Domain-based email ရှိခြင်းရဲ့ ဒုတိယကောင်းကျိုးတစ်ခုကတော့ ယုံကြည်မှု Brand တစ်ခုဖြစ်စေပါတယ်။ အကယ်၍ မိမိလုပ်ငန်းနာမည်အလိုက် email အသုံးပြုပြီး Customers တွေကို ဆက်သွယ်ဖို့ကြိုးစားတဲ့အခါ၊ ဒါမှမဟုတ် ကြေငြာတဲ့အခါ လုပ်ငန်းနာမည်ကို လွယ်လွယ်ကူကူမှတ်မိနိုင်စေပြီး၊ ပိုမိုယုံကြည်စေပါတယ်။ လူသုံးများတဲ့ email provider တွေကိုသုံးပြီး e-commerce လုပ်ငန်းမျိုး လုပ်ကိုင်တဲ့အခါ “မိမိရဲ့ လုပ်ငန်းဟာ online ပေါ်မှာတကယ်ပဲ ရှိရဲ့လား” ဆိုတာ ဝယ်သူတွေကို သံသယ ဖြစ်စေနိုင်ပါတယ်။ အချိန်မရွေးထ,ကောက်ဖွင့်လို့ရတဲ့ email address တစ်ခုနဲ့ မိမိရဲ့ ပိုက်ဆံကို သုံးဖို့လာဆွယ်တဲ့ message တွေကို ဘယ်လို ဝယ်သူတွေက ယုံကြည်မယ်လို့ ထင်ပါသလဲ။ ခြွင်းချက်တွေတော့ ရှိပါလိမ့်မယ်။

Domain-based email တွေကို work email ဒါမှမဟုတ် business email လို့လည်း လူသိများကြပါတယ်။ Online ပေါ်မှာ မိမိရဲ့ စီးပွါးရေးလုပ်ငန်းတွေကို ကြေငြာတဲ့အခါ ပထမဆုံးအရေးကြီးတာက website တစ်ခုရှိဖို့ ဖြစ်ပါတယ်။ မရှိတဲ့ စီးပွါးရေးလုပ်ငန်းတွေလည်း ရှိဆဲတော့ဖြစ်ပါတယ်။ သို့သော်လည်း မိမိရဲ့ စီးပွါးရေးနာမည်နဲ့ website တစ်ခုရှိထားခြင်းဟာ မရှိထားတဲ့ လုပ်ငန်းထက် ဝယ်သူ၊အားပေးသူတွေ ပိုမို ယုံကြည်ကြတာကတော့ ငြင်းလို့ရမယ် မထင်ပါဘူး။ ဒီ့နောက်မှာတော့ business email ကလည်း ဒီဝယ်သူတွေနဲ့ အဆက်မပြတ် ဆက်သွယ်ဖို့၊ သတင်းကြေငြာတွေ ပို့ဖို့ professional ကျကျ ကူညီနိုင်ပါလိမ့်မယ်။

စီးပွါးရေးလုပ်ငန်းကြီးတွေအတွက် business email အတွက် domain email, email hosting တွေဝယ်ရတာ မခက်ခဲပေမယ့် သာမန်စီးပွါးရေးလုပ်ငန်းလေးတွေနဲ့ personal professional ဆန်ချင်ပေမယ့် ငွေအရမ်းမသုံးချင်တဲ့သူတွေအတွက်တော့ ရဖို့ခက်ပါတယ်။

ဒါဆိုရင်တော့ ငွေတပြားမှ မသုံးရဘဲ business email ဒါမှမဟုတ် work email ဆန်ဆန် ရချင်ရင်တော့ anonaddy.com မှာ ရနိုင်ပါတယ်။ domain-based email စစ်စစ်မဟုတ်သော်ငြား website တော်တော်များများက တောင်းတတ်ကြတဲ့ business email ဆန်ဆန်ဖြစ်တဲ့အတွက် သုံးနိုင်ပါတယ်။ ထုံးစံအတိုင်း Free ဖြစ်တဲ့အတွက် ကန့်သတ်ချက်တွေတော့ ရှိပါတယ်။ anonaddy.com ကနေ မိမိရဲ့ Gmail ကို recipient အဖြစ် message တွေကို လွှဲယူလို့ရပါတယ်။ ဒီလိုမျိုး email forwarding လုပ်ဖို့ အများဆုံး (၂)ခုထိပဲ free version မှာ သုံးနိုင်ပါလိမ့်မယ်။ Bandwidth ကန့်သတ်ချက်လည်း ရှိပါတယ်။ ဒါပေမယ့် တစ်ကိုယ်ရေသုံးနဲ့ စာတွေအများကြီး ဝင်လာဖို့မရှိရင် ကန့်သတ်ထားတဲ့ Bandwidth မှာသုံးပျော်ပါတယ်။ ဒီ့ထက်ပိုသုံးချင်ရင်တော့ ဝယ်သုံးနိုင်ပါတယ်။ ဝယ်သုံးဖို့ plan တွေကို  anonaddy.com ရဲ့ official website မှာတွေ့နိုင်ပါတယ်။ အခြားလိုအပ်နိုင်တဲ့ API access တွေပါရနိုင်လို့ တကယ်သုံးလို့ အဆင်ပြေပါတယ်။  official website မှာ အမေးများတဲ့ မေးခွန်းတွေအပြင် blog တွေလည်း ဖတ်နိုင်ပါတယ်။ ဒါကတော့ email forwarding အတွက် မျှဝေခြင်းတစ်ခုသာလျှင် ဖြစ်ပါတယ်။ အားလုံး အဆင်ပြေကြဖို့ မျှော်လင့်ရင်း….

Inter-Quartile Range (IQR)

ရက်စွဲ - ၂၈.၇.၂၀၂၃ (သောကြာ)

Data Analysis လုပ်တဲ့အခါ Data တွေရဲ့ ဖြစ်တည်မှု၊ တန်ဖိုးတွေကို သိအောင် အရင်လုပ်ဖို့ လိုအပ်ပါတယ်။ Data တွေသည် Numerical Values တွေဖြစ်နိုင်သလို၊ Categorical Values တွေလည်း ဖြစ်နိုင်ပါတယ်။ Numerical Data တွေကို Quantitative Data၊ Categorical Data တွေကို Qualitative Data တွေ လို့လည်း ခေါ်ကြပါတယ်။ Numerical Values တွေကို ဖတ်တဲ့အခါ တိုင်းတာတွက်ချက်လို့ရတဲ့ ကိန်းဂဏန်းဆိုင်ရာ ဖော်မြူလာ၊ သတ်မှတ်ချက်တွေ များစွာ အသုံးပြုလို့ ရပါတယ်။ အရိုးရှင်းဆုံးအနေဖြင့် အငယ်ဆုံးတန်ဖိုး (Min), အကြီးဆုံးတန်ဖိုး (Max), အကြီးဆုံးတန်ဖိုးနဲ့ အငယ်ဆုံးတန်ဖိုးကြား အကွာအဝေး (Range), ပျမ်းမျှတန်ဖိုး စ,တာတွေ ကို Data Set တစ်ခုလုံးထဲက,နေ ရှာ‌ဖွေခြင်း ဖြစ်ပါတယ်။ နောက်ထပ် အခြေခံကျတာတွေက,တော့ Mean, Median, Mode, Standard Deviation နဲ့ Inter-Quartile Range တို့ ဖြစ်ပါတယ်။

ဒီနေ့တော့ Inter-Quartile Range (IQR) ရဲ့ အကြောင်းလေးကို ရှင်းပြပေးမှာ ဖြစ်ပါတယ်။

Range သည် Smallest Data Point နဲ့ Largest Data Point ကြားမှ အကွာအဝေး ဖြစ်ပါတယ်။ ဆိုလိုချင်တာက Range = Max – Min ဖြစ်ပါတယ်။ IQR က,တော့ Data ရဲ့ Middle 50% ကို ရည်ညွှန်းပါတယ်။

IQR ကို ရှာဖို့အတွက် ဦးစွာ တန်ဖိုးတွေကို ငယ်စဥ်ကြီးလိုက်စီ ရပါတယ်။ အဲ့ဒီနောက်မှာ Median ကို ရှာရပါမယ်။ Median ရှာဖို့အတွက်က စုံဂဏန်းအရေအတွက်ဆို (၂) နဲ့စားပြီး ရတဲ့ တန်ဖိုးကို (၁) ပေါင်းပါ။ ပေါင်းလဒ်တန်ဖိုး‌ သည် Median ကိုဖော်ပြမယ့် ကိန်းတန်းရဲ့ တည်နေရာ ဖြစ်ပါတယ်။ ( Median = (n/2) + 1 ကိုဆိုလိုသည်။ ပေါင်းလဒ်သည် Median မဟုတ်ပါ။) မဂဏန်းအရေအတွက်ဆို (၁) ကို အရင် ပေါင်းပြီးမှ (၂) နဲ့စားပါ။ ရလာတဲ့ စားလဒ်သည် Median ကိုဖော်ပြမယ့် ကိန်းတန်းရဲ့ တည်နေရာ ဖြစ်ပါတယ်။ (Median = (n/2) ကိုဆိုလိုသည်။ စားလဒ်သည် Median မဟုတ်ပါ။)

Median သည် အလယ်မှတ်၊ အလယ်ကိန်း ဖြစ်တဲ့အတွက် ကိန်းတန်းတစ်ခုလုံးကို အညီအမျှ ပိုင်းထားသကဲ့သို့ ဖြစ်ပါလိမ့်မယ်။ ပြီးရင်တော့ အဲ့ဒီ Median နဲ့ Min ကြားထဲက Median ကိုထပ်ရှာရပါမယ်။ အဲ့ဒါကို First Quartile (Q1) လို့သတ်မှတ်ပါတယ်။ နောက်တစ်ခါ ဦးဆုံးရှာထားတဲ့ Median (Q1 မဟုတ်ပါ) နဲ့ Max ကြားထဲက Median ကိုထပ်ရှာရပါမယ်။ ရလာတဲ့ Median ကို Third Quartile (Q3) လို့သတ်မှတ်ပါတယ်။ ပြီးရင် Q3 ထဲက,နေ Q1 ကိုနှုတ်ရပါမယ်။ ဒါဆိုရင် IQR ကို ရရှိပြီ ဖြစ်ပါတယ်။

ကိန်းတန်းတစ်ခုလုံးမှာရှိတဲ့ Data Point တွေရဲ့ အလယ်မှတ် ဖြစ်တဲ့ Median တွေကိုရှာခဲ့တာ ဖြစ်လို့ Q1, Median M နဲ့ Q3 တို့သည် ကိန်းတန်းရှိ Data တွေကို အညီအမျှပိုင်းခြားပေးပါတယ်။ ရာခိုင်နှုန်းအရဆိုရလျှင် (၂၅%) အသီးသီး ရှိတဲ့ အပိုင်း (၄) ပိုင်း ရမှာဖြစ်ပါတယ်။ ဒီနေရာမှာ သိထားရမှာက ကိန်းစဥ်တန်းက မ,ဂဏန်းအရေအတွက် ဖြစ်နေရင် Median သည် ကိန်းတန်းရဲ့ အလယ်မှာရှိနေမှာဖြစ်ပြီး ဘယ်အပိုင်းထဲမှာမှ ပါဝင်မှာလည်း မဟုတ်ပါဘူး။ စုံဂဏန်းအရေအတွက် ဖြစ်နေရင်တော့ Median သည် ကိန်းတန်း Data Point တွေကို အတိအကျပိုင်း ပေးပါတယ်။ Median ကိုယ်တိုင်သည်လည်း အပိုင်းအသီးသီးမှာ အညီအမျှ ပါဝင် သွားပါလိမ့်မယ်။

ရလာတဲ့ IQR ကိုသုံးပြီးတော့ Data Point တွေထဲက Outliers တွေကို သိနိုင်ပါတယ်။ Outlier ဆိုတာ သံသယဝင်စရာ ကောင်းလောက်အောင် ကွက်ပြီးထူးခြားနေတာမျိုး၊ Pattern တွေထဲက,နေ သိသိသာသာ ကွဲထွက်နေတာမျိုးကို ဆိုလိုပါတယ်။ Q1 - 1.5(IQR) တန်ဖိုးအောက် ငယ်နေရင် သို့မဟုတ် Q3 + 1.5(IQR) တန်ဖိုး‌ထက် ကြီးနေရင် Suspected Outlier လို့သတ်မှတ်ပါတယ်။ ဒါကို 1.5(IQR) Criterion လို့ခေါ်ပါတယ်။ ဒီ IQR အတွင်းက,နေ ကျော်သွားတဲ့ Min သို့မဟုတ် Max Data Point တွေရှိခဲ့ရင် Outlier လို့လည်း သတ်မှတ်ပြီး ဘယ်လို ကိုင်တွယ်ဖြေရှင်းရမလဲ စဥ်းစားရပါမယ်။

ယေဘူယျအားဖြင့် သိသိသာသာ ထူးခြားဖြစ်စဥ်တိုင်းက မှားယွင်းတယ်လို့ ယူဆလို့မရပါဘူး။  ဒီလိုမျိုး ထူးခြားဖြစ်စဥ်မျိုး နောက်တစ်ကြိမ် ဖြစ်ပေါ်နိုင်မယ်ဆိုရင် ဒါဟာ Data တွေအဖြစ် ဆက်လက် သိမ်းဆည်းထား သင့်ပါတယ်။ နောက်တစ်ချက်က,တော့ အရေးပေါ်ထုတ်ပြန်ချက်တွေကြောင့်  သို့မဟုတ် ပြောင်းလဲသွားတဲ့ စည်းမျဥ်း၊ ဥပဒေလုပ်ထုံးတွေကြောင့်၊ အခြေအနေအရ ထူးခြားဖြစ်စဥ် ဖြစ်ပေါ်ခဲ့တာမျိုးဆိုရင်၊ ပြီးတော့ ဒီလိုဖြစ်စဥ်ဟာ နောက်ထပ် ထပ်မဖြစ်နိုင်တာ သေချာရင်တော့ Data တွေ အဖြစ်ဆက်လက် သိမ်းဆည်းထားဖို့ မလိုအပ်ပါဘူး။ ဖယ်ထုတ်ခဲ့လို့ ရပါတယ်။ တစ်ခါတစ်ရံမှာတော့ ဒေတာကောက်ယူသူတွေရဲ့ အမှားကြောင့် သိသိသာသာ ထူးခြားကွဲပြားနေတာမျိုးလည်း ကြုံတွေ့နိုင်ပါတယ်။ ဥပမာ - အသက် (၀) နှစ်လို့ မှားပြီး မှတ်တမ်း ထားမိတာမျိုး ဖြစ်ပါတယ်။ ဒီလို Typo Error မျိုးတွေ ဆိုရင်ပြင်လို့ရရင် ပြင်နိုင်သလို လုံးဝဖြစ်နိုင်ချေ မရှိရင် ဖယ်ထုတ်ခဲ့လို့ ရပါတယ်။ ဘာကြောင့်လည်းဆိုရင် အချို့သော Outliers တွေက မမြင်နိုင်တဲ့ အခြားသော Data တည်ရှိမှုများကို ဖုံးကွယ်ထားလို့ ဖြစ်ပါတယ်။ ဆိုလိုတာက အဲ့ဒီ Outliers ကြောင့် Data Distribution သည် ပြောင်းလဲနေတာ သို့မဟုတ် ပြောင်းလဲနိုင်တာ ဖြစ်ပါတယ်။

နိဂုံးချုပ်ရမယ်ဆိုရင် Data Distribution ကို သိရှိခြင်းဖြင့် Suspected Outliers တွေကို မြင်နိုင်မှာဖြစ်ပြီး ဒါတွေဟာ Data Analysis မှာ အခြေခံသဘောတရားတွေ ဖြစ်ပါတယ်။ Five Number Summary လို့ခေါ်တဲ့ (Min, Q1, M, Q3, Max) ဒါတွေသည် Numerical Data တွေကို မြန်ဆန်စွာ‌ သိနိုင်ဖို့ လိုအပ်တာ ဖြစ်လို့ ရေးသား ဖော်ပြပေး လိုက်ပါတယ်။


ဆန္ဒမွန်ဖြင့်

ဇော်မေ

 

Why we say useless data?

ရက်စွဲ - ၃၀.၀၁.၂၀၂၂

အားလုံးပဲ မင်္ဂလာပါ....ကျွန်တော့်နာမည်က “ဇော်မေ” ပါ။

ဒီနေ့ ကျွန်တော်ဆွေးနွေးချင်တဲ့ ခေါင်းစဉ်က “ဘာလို့ အသုံးမဝင်တဲ့ Data တွေလို့ ကျွန်တော်တို့က ပြောရတာလဲ” ဆိုတာပါ။ ဒီလိုပြောလိုက်ရင် တစ်မျိုးတော့ ဖြစ်သွားမှာပေါ့နော်။ ဘာလို့လဲဆိုတော့ အခုခေတ်မှာ sexy အကျဆုံး၊ အဟော့ဆုံး စကားလုံးက “Big Data” ဖြစ်နေလို့ပါ။ အဲ့ဒါကြောင့်ပဲ ကျွန်တော်က Data တွေက ဘာလို့ Useless ဖြစ်တာလဲဆိုတာနဲ့ အဲ့ဒီ Data တွေကို ဘယ်လိုမျိုး အသုံးဝင်လာအောင် လုပ်လို့ရမလဲဆိုတာတွေကို ကျွန်တော့်ရဲ့ လုပ်ငန်းခွင်မှာ ကြုံတွေ့ခဲ့ရပုံတွေ၊ ကျွန်တော့်အမြင်တွေနဲ့ ထပ်ဆောင်း နည်းပညာလေးတွေကို မျှဝေပေးချင်ပါတယ်။ ဆွေးနွေးတာဖြစ်လို့ ကျွန်တော့်ကိုလည်း ဝေဖန်နိုင်ပါတယ်။ Q&A Sections ကျရင်လည်း စိတ်ဝင်စားဖို့ကောင်းတဲ့ အချိန်ဖြစ်လာဦးမယ်လို့ မျှော်လင့်ပါတယ်။

ဟုတ်။ ။ အဲ့ဒါဆိုရင် ဘာလို့ Useless Data လို့ပြောလဆိုတာကနေ အရင်စ,လိုက်ပါမယ်။ ဒါက ဒီလိုရှိပါတယ်။ တစ်ခါတစ်လေကျတော့ Useless Data တွေရှိနေတာအစား Data တွေရှိမနေတာကမှ ပိုကောင်းနေသေးတယ် လို့တောင်ပြောချင်တယ်။ Data တွေကိုသုံးမှာ မဟုတ်ရင် ဒါမှမဟုတ် စနစ်တကျသိမ်းဆည်းထားတဲ့ Data တွေ မဟုတ်ခဲ့ရင် အဲ့ဒါတွေက Useless Data တွေပါပဲ။ နောက်ဥပမာတစ်ခုအနေနဲ့ပြောရရင် စာသင်ခန်းထဲက ကျောင်းသားတွေရဲ့ အမှတ်စာရင်းအမှား တွေဟာ လည်း Useless Data တွေပါပဲ။ ဘာလို့ဆိုတော့ ဒီနေ့ရဲ့ IoT Age မှာ Big Data တွေကို အခြေခံပြီး Data Driven-Decision တွေချပြီး လုပ်ဆောင်နေကြတာဆိုတော့ Data တွေရဲ့ အခန်းကဏ္ဍက အ‌ရေးပါလာတယ်။ Data တွေမှားနေမှတော့ Data ကနေ Predict လုပ်မယ့် Result ကလည်း မှားဖို့ရာ များသွားပြီ။ တကယ်ကထပ်ပြောရရင် Useless Data တွေဆိုတာ အရည်အသွေးမပြည့်ဝတဲ့ Data တွေလို့လည်း ဆိုနိုင်တယ်ပေါ့နော်။ ဒီတော့ Useless Data တွေမဖြစ်အောင် Data Quality Issues တွေ မရှိအောင်လုပ်နိုင်သလို နောက်တစ်ချက်က Data တွေကို အမှန်တကယ်သုံးပြီး Story Telling လုပ်လိုက်ရင်လည်း ဖြစ်နိုင်ပါတယ်။ Story Telling လုပ်တဲ့နေရာမှာလည်း Data Quality Issues တွေ ရှိနေသေးရင် Useless Data တွေကတော့ ဖြစ်နေဦး မှာပါပဲ။

တစ်ခါ Machine Learning နယ်ပယ်မှာ၊ Data Science Field မှာပေါ့...သူ့မှာလည်း Useless Data တွေကို ဂရုစိုက်ရမယ်။ ဆိုလိုချင်တာက ကိုယ်လိုချင်တဲ့ Outcome Variable နဲ့ အဆက်အစပ်မရှိရင် Result ရဖို့ အလားအလာမရှိရင် အဲ့ဒါတွေသည်လည်း Useless Data ပါပဲ။ ဥပမာ ဘဏ်အကောင့်တွေ။ သူတို့တွေကို Random ချပေးလိုက်တယ်။ ဆိုတော့ Account Holder က အကောင့်နံပါတ် ဘယ်လောက်ဖြစ်နေမှ ဘာဖြစ်ရမယ် ဆိုတာမျိုးမရှိဘူး။ Make Sense မဖြစ်ဘူးပေါ့။ Random မလို့ Order လည်းမရှိဘူး။ ဒီတော့ ဒီလိုမျိုး Field မျိုးဆိုရင် အသုံးမဝင်ဘူး။ Model ကို Fitting လုပ်ရင် ထည့်မသုံးဘူးပေါ့နော်။

ဒီတော့ Useless Data တွေမဖြစ်အောင် Data Quality Issues တွေက ဘာတွေလည်း ပြောပြပါမယ်။

Duplicated Data တွေ။ ထပ်နေတဲ့ အကြောင်းအရာတွေပေါ့နော်။ ဒါကတော့ siloed systems များတဲ့အခါမျိုးတွေမှာ ဖြစ်လေ့ရှိပါတယ်။ စကားမစပ်ပေါ့နော်....Duplicated Files တွေလည်း ရှိတတ် ပါတယ်။ သူများတွေတော့ မသိဘူး။ ကျွန်တော်ပေါ့နော်။ ကျွန်တော်က Duplicate File ဖြစ်သွား တာတော့ မဟုတ်ဘူး။ Data File တွေများလာတာ။ တစ်ခုခုဆို မပစ်ရက်တွေ ဖြစ်တာပေါ့နော်။ ကိုယ်တွေက Data တွေနဲ့ အလုပ်လုပ်တဲ့အခါ Data Cleaning လုပ်ပြီးရင်တောင် Original Data File တွေကို Version တပ်ပြီး သိမ်းလိုက်ရမှ ဆိုတာမျိုးပေါ့။ တကယ်တမ်း ကျွန်တော်တို့ လုပ်ငန်းခွင်မှာ လုပ်ကြတဲ့အခါ  Data Fields တွေပြောင်းသွားရင် Update လုပ်မှာလား? Overwrite လုပ်မှာလား? Ignore လုပ်မှာလား? စတာတွေပေါ်မူတည်ပြီး Slow Changing Dimension ဆိုတာမျိုးတွေနဲ့ Data တွေကို စနစ်ကျ unique ဖြစ်နေအောင် လုပ်ရပါတယ်။

နောက်တစ်ခုက အချက်အလက်တွေ မစုံတာ။ တစ်နည်းပြောရရင် Field တွေမစုံတာ။ ဘယ်လိုမျိုးမှာ ဖြစ်လေ့ရှိလဲ ဆိုတော့ Staff တွေက Data တွေကို Manually သွင်းရင် မဖြည့်မိတာတို့၊ ကွက်ကျော်သွား တာတို့၊ မေးမရတာတို့ စသဖြင့်ပေါ့လေ။ ဒါ့ကြောင့်လည်း ဒီလိုအခြေအနေမျိုးအတွက် Data Management System တွေက အရေးကြီးလာရတာနောက်ပိုင်းမှာ Field မစုံတဲ့ Row/Record တွေ က Missing Information ဖြစ်စေလို့ Prediction လုပ်တဲ့အခါမျိုးတွေဆိုရင် အသုံးမဝင်တဲ့ Data တွေ ဖြစ်သွားနိုင်တဲ့ အလားအလာ များသွားပါတယ်။

ခုနကပြောတဲ့ Staff ကိုယ်တိုင် Data တွေသွင်းတဲ့အခါ အမြင်မှားပြီး အကွက်မှားဖြည့်တာမျိုးတွေကနေ Data Type မှားသွားတာမျိုးတွေ ဖြစ်တတ်ပါသေးတယ်။ ပြီးတော့ Data Format မှားတာမျိုးတွေလည်း ဖြစ်တတ်ပါတယ်။ ဥပမာဆိုပါတော့ DateDate ဆိုရင် ပုံစံအမျိုးမျိုးနဲ့ ရေးလို့ရတယ်။ ရက်/လ/နှစ် ရေးမလား? ဒါမှမဟုတ် နှစ်/ရက်/လ ရေးမလား? စသဖြင့်ပေါ့။ ကယ့်လုပ်ငန်းခွင်မှာက Data တွေ သည် Source တစ်ခုတည်းကနေ လာတာမဟုတ်ပါဘူး။ ဆိုတော့ တစ်ခါတစ်လေ Data Type Conflict တွေ ဖြစ်တတ်ပါသေးတယ်။ ကျွန်တော် Data Migration လုပ်တုန်းက Test တွေ၊ Development တွေတုန်းက ဘာ Error မှ မရှိခဲ့ဘဲ Go Life စ,တော့မှ Type Error တွေတက်တာ ကြုံခဲ့ဖူးပါတယ်။

နောက်ထပ် သတိထားရမှာ တစ်ခုက Language နဲ့ အတိုင်းအတာ Unit တွေပါ။ အဓိက,က Language ပေါ့နော်။ ဆိုပါ‌တော့ မြန်မာစာ ဆိုရင် Unicode ဆိုပေမယ့် Zawgyi သုံးနေတာတွေလည်း ရှိသေးတာ ပဲလေ။ Font Face ပေါ့နော်။ အတိုင်းအတာ Unit ဆိုရင် Currency ရှိမယ်ပေါ့။

Data Quality Issues မှာ များသောအားဖြင့်ကတော့ Data Entry သွင်းတဲ့ Human Error တွေက အများဆုံးပါပဲ။ ဒီ Data Quality ဆိုတာ ဒီနေ့ခေတ်အနေနဲ့ဆိုရင် Data Center တွေအတွက် Critical Issues လို့လည်း ဆိုလို့ရတယ်။ ဘာလို့ဆိုတော့ Data တွေကများလာလေ Big Data ပေါ့နော်။ သိမ်းဖို့အတွက် Cloud နည်းပညာတွေနဲ့၊ ဒီ Cloud Technology ရဲ့ နောက်ကွယ်က ရှုပ်ထွေးမှုတွေက ကြီးထွားလာဦးမယ်။ ပြီးရင် ဒီရှုပ်ထွေးပါတယ်ဆိုတဲ့ Cloud Technology ကို သုံးဖို့ လိုအပ်ချက် ကလည်း ပိုပိုပြီးပဲ များလာ၊တိုးလာဖို့ပဲ ရှိတာမလို့။ ဒါ့ကြောင့်လည်း နောက်ပိုင်းမှာ Data Quality Tools တွေကိုသုံးခြင်းအားဖြင့် Typos တွေ၊ Formatting Errors တွေကို ဖယ်ရှားနိုင်ပါမယ်။ Data Quality Tools တွေက data cleansing, data integration, master data management, metadata management စတာတွေကို လုပ်ပေးနိုင်ပါတယ်။

နေက်ထပ်သိလိုတတွေကိုတောslide လေမှာ ထပ်ပြီကြည့်ပေးပါနော်။ Slide လေးကို လိုချင်ရင် email address လေးချန်ခဲ့မယ် ဆိုရင် ပို့ပေးပါမယ်။

ဆန္ဒမွန်ဖြင့်

RFM Data Analysis

ရက်စွဲ - ၂၀၂၃ ဒီဇင်ဘာ

RFM ဆိုတာ Recency Value Frequency Value နဲ့ Monetary Value ရဲ့ အတိုကောက် ဖြစ်ပါတယ်။ Customers တွေရဲ့ အရည်အသွေးကို တိုင်းတာဖို့အတွက် သုံးပြုကြပါတယ်။ တစ်နည်းအားဖြင့် Customers တွေရဲ့ အပြုအမူ Behaviors ပေါ်မူတည်ပြီး Segmentation ခွဲတာမျိုး ဖြစ်ပါတယ်။ Retail Business နဲ့ E-commerce တွေမှာဆိုရင် Customer Segmentation Application နဲ့ Web ,တာတွေမှာဆိုရင် User Segmentation Gaming Industry တွေမှာဆိုရင် Player Segmentation စသဖြင့် ခေါ်ဝေါ်သုံးစွဲ နိုင်ပါတယ်။ (ဒီနေရာမှာတော့ Customer Segmentation ဆိုတဲ့အသုံးကိုပဲ အသုံးပြုသွားပါမယ်) Segmentation ခွဲတဲ့အခါ Customers တွေဟာ မိမိရဲ့ Business မှာ ဘယ်လောက်ထိ Active ဖြစ်နေသလဲ ဘယ်နှစ်ကြိမ်လောက်ထိ လာရောက်သလဲ ငွေဘယ်လောက်သုံးခဲ့လဲ? ဆိုတာတွေနဲ့ တိုင်းတာနိုင်ပါတယ်။ ဥပမာ - ဘယ်ရက်က ‌နောက်ဆုံး Order တင်သလဲ၊ နောက်ဆုံးဝယ်ယူထားတဲ့ရက် ဒါမှမဟုတ် နောက်ဆုံး Login ဝင်သွားတဲ့ရက် ဘယ်နှစ်ကြိမ Order တင်ဖူးလဲ၊ ဘယ်နှစ်ကြိမ် ဝယ်ယူဖူးလဲ၊ ဘယ်နှစ်ကြိမ် Login ဝင်သလဲ၊ ဘယ်နှစ်ကြိမ် Comment ပေးသလဲ၊ ငွေဘယ်လောက်ထိသုံးပြီး ဝယ်ယူသွားသလဲ၊ ပျမ်းမျှဘယ်လောက်သုံးနိုင်သလဲ စ,တဲ့ဒေတာ တွေကို ကောက်ယူတာမျိုး ဖြစ်ပါတယ်။

RFM Analysis က, Best Customers Loyal Customers Churn Rate အစရှိတာတွေကို သိရှိနိုင်ပါတယ်။ Customer တစ်ယောက်ချင်းစီရဲ့ R.F.M တန်ဖိုးတွေကိုရတဲ့အခါ တစ်ယောက်ချင်းစီတိုင်းကို အဆင့် (Rank) သတ်မှတ်ပေးလို့ ရပြီဖြစ်ပါတယ်။ သတ်မှတ်ပေးလိုက်တဲ့ Rank ပေါ်မူတည်ပြီး RFM Scores တွက်ချက်ကာ တူရာတူရာ အုပ်စုတွေခွဲထုတ်လိုက်ခြင်းဖြင့် Segmentation ပြုလုပ်ရမှာ ဖြစ်ပါတယ်။

RFM Scores အတွက် သတ်မှတ်ချက်တွေက ယေဘူယျအားဖြင့် Rank အရေအတွက်ပေါ်မှာ မူတည်ပါတယ်။ များသောအားဖြင့် Rank ကို (၄) ခု သို့မဟုတ် (၅) ခု လောက်ထိ ထားတတ်ကြပါတယ်။ အချို့ကလည်း (၃) ခု လောက်ထားတတ် ကြပါတယ်။ () ထက်ပိုများမယ်ဆိုရင်တော့ တွက်ရတာ အနည်းငယ်ပိုများနိုင်ပါတယ်။ အကယ်၍ Customer Data တွေအရမ်းအများကြီး ရှိနေခဲ့မယ်၊ ဘယ်လောက်ထိ Customer Group ရနိုင်မလဲ မသိတဲ့အခါ K-Means Clustering လိုမျိုး Machine Learning မှ Elbow Method တို့ကို အခြေခံ တွက်ချက်နိုင်ပါတယ်။

RFM Rank ကို (၄) ခုထိ ထားတယ် ဆိုကြပါစို့။ Recency အတွက် R1, R2, R3, R4Frequency အတွက် F1, F2, F3, F4Monetary အတွက် M1, M2, M3, M4 ရရှိပါလိမ့်မယ်။ Scores တစ်ခုစီတိုင်းအတွက် R1-F1-M1 စသဖြင့် တွဲထုတ်ရပါမယ်။ စုစုပေါင်း ၄ x x ၄ = (၆၄) ရှိပါလိမ့်မယ်။ Rank (၅) ခုဆိုရင် ၅ x x = (၁၂၅) ရရှိပါမယ်။ အောက်မှာပြထားတဲ့ပုံကို ကြည့်နိုင်ပါတယ်။

Fig (0.1)

Rank တစ်ခုချင်းစီတိုင်းအတွက် Range ကို မိမိတို့ Business နဲ့ကိုက်ညီမယ့် စံနှုန်းများဖြင့် သတ်မှတ်နိုင်ပါတယ်။ နောက်ဆုံးမှာ RFM Scores တွေရတဲ့အခါ Customer Segment ခွဲလို့ရပြီ ဖြစ်ပါတယ်။ အောက်မှာ ဥပမာ အနေနဲ့ ပြပေးထားပါတယ်။ လိုအပ်ပါက ဒီ့ထက်ပိုပြီးလည်း အုပ်စုတွေ ထပ်မံခွဲထုတ်နိုင်ပါတယ်။

Fig (0.2)

RFM Analysis ကို Power BI အသုံးပြုပြီး လွယ်ကူစွာ ပြုလုပ်နိုင်ပါတယ်။ ဒါ့အပြင် Python Language ကို အသုံးပြုပြီးလည်း လွယ်ကူစွာ ပြုလုပ်နိုင်ပါတယ်။ 

 

  1. Power BI ဖြင့် RFM Analysis တည်ဆောက်ခြင်း

Step 01: Power BI Desktop ဖြင့် Data တွေကို ဦးစွာ Import လုပ်ထားရပါမယ်။ ပြီးရင်တော့ နဂိုမူရင်း Table က, နေ လိုအပ်တဲ့ Data တွေသာလျှင် ပါဝင်မယ့် Modeling>>New Table တစ်ခု ထပ်ဆောက်လိုက်ပါ။

Fig (1.1)

Step 02: အောက်မှာပြထားတဲ့ DAX Query မှာ သက်ဆိုင်ရာ Columns တွေကို အစားထိုးထည့်လိုက်ပါ။ ဒါဆိုရင် Calculated Table အသစ်တစ်ခုကို ရရှိမှာ ဖြစ်ပါတယ်။

Step 03: နောက်တစ်ဆင့်အနေနဲ့ R.F.M Scores တွေတွက်လို့ရပြီ ဖြစ်ပါတယ်။ အောက်မှာ ဥပမာ ပြပေးထား ပါတယ်။ သင့်တော်ရာ Range တွေကို အစားထိုးပြီး Factor (၃) ခုလုံးအတွက် သတ်မှတ်ပေးရမှာ ဖြစ်ပါတယ်။

Step 04: Factor တစ်ခုချင်းစီအတွက် Score နဲ့ Value ဆိုပြီး ရှိပါလိမ့်မယ်။

Fig (1.2)

Step 05: တစ်ခုချင်းစီရဲ့ Scores တွေကို အုပ်စုခွဲရလွယ်အောင် စု, ပစ်ပါမယ်။ 

Step 06: Segmentation ခွဲလို့ရတဲ့ အဆင့်ဖြစ်ပါတယ်။

Step 07: Visualization ဆွဲထုတ်ကြည့်နိုင်ပြီ ဖြစ်ပါတယ်။

Fig (1.3)

  1. Python Language ဖြင့် RFM Analysis တည်ဆောက်ခြင်း

Step 01: လိုအပ်တဲ့ Libraries တွေကို အရင်ဦးစွာ Import လုပ်ပါ။ ပြီးရင် Pandas ရဲ့ read_csv ကိုသုံးပြီး Data တွေကို ဖတ်ပါမယ်။

Step 02: Quantity လွဲနေတဲ့ Data တွေကိုဖယ်ပါမယ်။ ဒီအဆင့်မှာ လိုအပ်သလို ထပ်မံပြင်ဆင်နိုင်ပါတယ်။

Step 03: Power BI မှာတုန်းကလို RFM Value တွေ ရအောင် Data တွေမှာ ပြင်ဆင်ပါမယ်။

 

Step 04: ပြီးရင် တစ်ခုချင်းစီအတွက် Score, RFM Score တွက်ပါမယ်။

Step 05: Segmentation ခွဲပါမယ်။ တစ်ပြိုင်တည်းမှာ mean တန်ဖိုးတွေပါ တွက်ချက်ကြည့်နိုင်ပါတယ်။

 

 

Step 06: ရလာတဲ့ Segments တွေကို Visualization ထုတ်ကြည့်ပါမယ်။ squarify treemap ကိုအသုံးပြုပြီး ဆွဲပြထားပါတယ်။

Understanding AI Hallucinations: Mitigate Misinformation & Get Better Answers

  ရက်စွဲ  – ၁၁ .၀၆.၂၀၂၄ AI နည် း ပညာ တွေ သည် တရှိန်ထိ ုး အော င်မြင်လာ မှု နဲ့အတူ   အရမ် း ကို သြချလော က်စ ရာ စွမ်း ဆော င်ရည်တွေ ပါ ဝင်လာ ပါ ...