1 puan yazan GN⁺ 2025-04-16 | 1 yorum | WhatsApp'ta paylaş
  • İş değiştirme, bir iş fikrinin uygulanabilirliği ya da yatırım gibi girdi değerlerinin oynak olduğu hesaplarda, tek bir sayıdan çok olası sonuç aralığı karar vermede daha faydalıdır
  • Unsure Calculator, 4~6 gibi aralıklar girerek belirsiz değerlerle hesap yapar; 10~15 ise gerçek değerin bu aralıkta olduğuna %95 emin olunduğu anlamına gelir
  • Sonuçlar tek bir sayı olarak değil; aralık, olasılık dağılımı ve yüzdelikler olarak sunulur. Yurt dışına taşınarak iş değiştirme örneğinde aylık bakiyenin -$60~+$220 arasında olabileceğini gösterir
  • Girdileri basit tutmak için dağılım türü, güven düzeyi ve kovaryans gibi gösterimler çıkarılmıştır; iç hesaplama ise Monte Carlo yöntemi kullandığı için yavaştır ve hata mesajları da pek yardımcı değildir
  • İstatistik uzmanları için bir araç değil; iş fikri, zaman tasarrufu, pandemi riski, pazarlama ROI’si gibi peçetenin arkasına yapılacak hesaplar için uygundur. Daha karmaşık analizlerde profesyonel araçlar gerekir

Belirsiz sayıları hesaba katmak

  • Unsure Calculator, kesin olmayan sayılarla çalışmak için hazırlanmış erken aşama bir belirsizlik hesaplayıcısıdır
  • İstatistiği, “sayılar kesin olmasa da onlarla çıkarım yapmak istiyorum” sorununa indirger
  • Günlük hesaplarda da belirsiz girdiler çok olduğu için, istatistik uzmanı olmasanız bile belirsizliği içeren hesaplara ihtiyaç duyabilirsiniz

Aralık gösterimi

  • Sadece 4, 3.14, 43942 gibi normal sayıları değil; 4~6, 3.1~3.2, 40000~45000 gibi aralık girdilerini de destekler
  • ~, iki uç değer arasına giren tilde işaretidir ve hesap makinesi tuş takımında da bulunur
  • Aralık gösterimi, “tam değeri bilmiyorum ama gerçek değerin bu aralığın içinde olduğuna %95 eminim” anlamına gelir
  • 10~15, “10 ile 15 arası” diye okunabilir
  • Farklı olasılık dağılımları, farklı güven düzeyleri, truncation ve kovaryans gibi gösterimler de mümkün olurdu ama anlaşılmayı zorlaştıracağı için dışarıda bırakılmıştır
    • Bu tür kavramlara aşina kullanıcıların zaten daha gelişmiş araçlar kullanmasının daha uygun olduğu varsayılır
    • Amaç, geniş bir kullanıcı kitlesinin istatistiksel hesaplamanın gücünü kolayca kullanabilmesidir

Tek sayıyla hesap yapmanın tuzağı

  • Belirsiz bir değerle karşılaşınca, “nasıl olsa ikisi de kesin değil, çok önemli değildir” deyip geçmek kolaydır
  • Makul görünen tek bir sayıyı seçip hesap yapmak, tek bir cevabın sadeliğine kapılmaya yol açar; ama gerçekte mümkün olan sonuç tek bir tane olmayabilir
  • Unsure Calculator, birçok olası sonucu hesaba katarak hem riski hem de fırsat alanını birlikte gösterir

Yurt dışına taşınarak iş değiştirme için finans hesabı örneği

  • Çıkış noktası, 2015’te yurt dışında bir iş fırsatının aile bütçesine etkisini hesaplama durumuydu
    • Maaş, genellikle işe alım sürecinin büyük kısmı geçildikten sonra öğrenilir
    • Yaşam maliyeti konusunda arkadaşlardan ve internetten gelen rakamlar birbirinden çok farklıydı
    • Vergi oranını da tek bir yüzdeyle ifade etmek kolay değildi
  • İlk başta muhafazakâr görünen tekil değerlerle hesap yapıldı
1500 * 0.6 - 650 - 150 - 30 - 20 = 50
  • Bu hesap, ayda +$50 kaldığını gösteren tek bir sonuç üretir
  • Aralıklar eklenip yeniden hesaplandığında sonuç değişir
1400~1700 * 0.55~0.65 - 600~700 - 100~200 - 30 - 20 = -60~220
  • Her kalemin gerçek değerinin ilgili aralık içinde olduğuna %95 eminsek, gerçek aylık bakiyenin de -$60 ile +$220 arasında olabileceği söylenebilir
  • Bunun tekil +$50 değerinden daha faydalı olmasının nedeni, para kaybetme ihtimalini de göstermesidir
  • Yüzdelikler karar verme açısından daha somut bilgi sunar
      1. yüzdelik -$8 ise, aylık bakiyenin -$8 ya da daha düşük olma olasılığı %10’dur
    • Tersinden bakarsak, sonuçların %90’ı -$8 değerinin üzerindedir
    • Ayda -$33 ya da daha fazla kaybetme yönünde %5 risk de ayrıca değerlendirilebilir
  • Bu riski kabul edip etmemek aileye ve koşullara göre değişir
    • Çocuk ve konut kredisi yokken alınacak risk ile varken alınacak risk aynı olmayabilir
    • Bir yedek plan yoksa, %10 zarar olasılığı daha temkinli değerlendirilebilir

Drake denklemi örneği

  • Araç pratik hesaplamaları hedeflese de, galaksideki dünya dışı uygarlık sayısını tahmin eden Drake denklemi (Drake equation) de örneklerden biridir
  • Bu denklem, iletişim kurabilecek uygarlıkların sayısını tahmin etmek için kullanılan bir astrofizik formülüdür
  • Frank Drake’in 1961’deki özgün değerleri şu çarpanlardan oluşuyordu
    • Galakside yılda 1 yıldız oluşur
    • Bunların 1/5’inin yaklaşık 3 gezegeni vardır
    • Bu gezegenlerin %100’ünde yaşam gelişir
    • Bu yaşamın %100’ü zekâ geliştirir
    • Bunların %10’u iletişim kurabilir
    • İletişim kurulabilir durum 1 milyon yıl sürer
  • Bu değerler çarpıldığında 60,000 elde edilir; yani herhangi bir anda galakside iletişim kurmaya çalışan 60 bin uygarlık olması gerektiği sonucu çıkar
  • 1961’den bu yana her parametreye ilişkin tahminler astrofizikçiler arasında ciddi biçimde değişmiştir
  • Güncel tahminlerin aralık olarak girildiği örnek şöyledir
1.5~3 x 0.9~1.0 x 0.1~0.4 x 0.1~1.0 x 0.1~1.0 x 0.1~0.2 x 304~10000
  • Unsure Calculator sonucu, beklenebilecek uygarlık sayısının 0 ile 450 arasında olabileceğini gösterir
  • Olasılık daha düşük değerlere doğru eğimlidir; histogram da alt tarafta daha geniş görünür
  • Histogramda -5 gibi negatif değerler görülebilir
    • Bu, sadelik tercihinin bir sınırıdır
    • Hesaplayıcı, ek bilgi olmadan uygarlık sayısının negatif olamayacağı kısıtını bilemez

Olası kullanım örnekleri

  • Bir iş fikrinin potansiyeli hesaplanabilir
    • Pazar büyüklüğü, pazar payı, kişi başına aylık gelir ve işletme giderleri belirsiz olduğunda
50000~80000 x 0.10~0.20 x 5~10 - 20000~50000
  • Gelecekteki gelir tahmin edilebilir
    • Aylık gelir, sözleşme süresi ve vergi oranı belirsiz olduğunda
1000~1500 x 10~12 x (30~50 / 100)
  • Bulaşık makinesi gibi bir teknolojinin ne kadar zaman kazandırdığı hesaplanabilir
    • Haftalık kullanım sayısı, kullanım başına zaman tasarrufu, ömür ve kurulum maliyeti belirsiz olduğunda
(3~5 * 5~10 * 51 * 7~15) / 60 - 10~15
  • Bir yatırım hesabının toplam getirisi tahmin edilebilir
    • Faiz oranı ve yatırım süresi belirsiz olduğunda
5000 x (-2~5 / 100) x 5~10
  • Pandemide ölüm olasılığı kabaca hesaplanabilir
    • Enfeksiyon oranı ve ölümcüllük oranı belirsiz olduğunda
(10~30 / 100) * (0.1~1.0 / 100) * 100
  • Yüksek bir binanın yüksekliği tahmin edilebilir
    • Binanın tabanına olan mesafe ve tepeyi görme açısı belirsiz olduğunda
100 x tan(70 ~ 80)
  • Bir pazarlama kampanyasının ROI’si tahmin edilebilir
    • Gösterim, tıklama oranı, dönüşüm oranı ve harcama belirsiz olduğunda
1000000 x (2~3 / 100) x (3~5 / 100) x (10~15)

Desteklenen fonksiyonlar

  • Tuş takımında yalnızca +, -, x, / bulunsa da, erken aşamada olmasına rağmen daha fazla hesaplama desteklenir
  • Örnek fonksiyonlar ve işlemler şunlardır
    • 2~3 ^ 4: 2 ile 3 arasındaki bir değerin 4. kuvveti
    • sqrt(10~12): 10 ile 12 arasındaki bir değerin karekökü
    • sin(90~95): 90 ile 95 derece arasındaki bir değerin sinüsü

Sınırlamalar ve paylaşım biçimi

  • Tek kişilik bir proje olduğu için bozulmalar beklenmelidir
  • Formül ayrıştırıcısı kırılgandır ve hata mesajları yardımcı değildir
  • Hesaplama oldukça yavaştır
    • Esnekliği korumak için Monte Carlo yöntemi kullanılır
    • Girilen her hesap için AST tabanlı yaklaşık 250 bin hesaplama yürütülür
  • Arayüz çok basittir ve görsel olarak da pek iyi değildir
  • Formülleri paylaşmanın tek yolu URL’yi elle oluşturmaktır
  • range her zaman normal dağılım anlamına gelir
    • Düşük sayı, ortalamanın 2 standart sapma altıdır
    • Yüksek sayı, ortalamanın 2 standart sapma üstüdür
    • Girdi olasılık dağılımı açısından daha karmaşık yöntemler desteklenmez
  • Bu bir istatistik uzmanı aracı değildir
    • Peçetenin arkasına yapılacak hesaplar için Unsure Calculator kullanılabilir
    • Daha karmaşık işler için ücretsiz ya da ücretli istatistik araçları, tam bir programlama ortamı veya bir istatistik uzmanı gerekir

Proje ve güncellemeler

  • Aracı geliştirmeye katkı vermek veya komut satırı sürümünü edinmek isterseniz github.com/filiph/unsure kullanılabilir
  • 2025 güncellemesine göre, bu gösterim ve araç 5 yıldır kullanılıyor ve yeni bir projeye başlarken iş akışının vazgeçilmez bir parçası haline gelmiş durumda
  • Daha yeni notebook tarzı uygulama sürümü burada görülebilir
    • Yeni başlayanlar için daha az uygun olsa da ileri düzey kullanıcılar için daha faydalıdır
  • Projeyle ilgileniyorsanız Filip Hracek takip edilebilir veya mailing listesine abone olunabilir

1 yorum

 
GN⁺ 2025-04-16
Hacker News yorumları
  • Bu aracı sevdim. Ancak HN geleneğine uygun olarak, yazıdaki tek bir kelimeye takılıp neredeyse-ama-aslında-tamamen yan konuya sapacak olursam, bu tür hesaplamalarda en az üç ayağına sıkma noktası var

    1. %95, insanların genelde düşündüğünden çok daha geniştir. İnsanlar %95’i “kabaca bu doğru olmalı” diye algılar; oysa gerçekte “bu değilse epey şaşırırım”a daha yakındır. Genelde kafalarındaki hata çubuklarını fazla dar tutarlar
    2. Olasılıklar gerçekten bağımsız olduğunda bu nadirdir. Buna “Mortgage Derivatives özdeyişi” denebilir. Aile örneğinde kira muhtemelen gıda harcamalarıyla koreledir; kira yüksekse gıda harcamalarının da yüksek olma olasılığı yüksektir. Bu durumda dağılım çarpılır ve ağırlıksız tekdüze dağılımla modellediğinizde gerçek sonucun ne kadar “düşük olasılıklı” göründüğüne şaşırırsınız
    3. Genel olarak normal dağılım, insanların düşündüğünden daha nadirdir. Değerleri bir şekilde zorlayan bir kısıtlayıcı etken olma eğilimindedir. Doğada negatif geri besleme döngüleri her yerde olduğundan sık görülür; ancak nispeten düzenli büyük doğa bahçesinin dışına çıkıp insan işlerinin kaosuna girdiğinizde normal dağılım oldukça anormal hale gelir
      Araç ve uygulama iyi, ama istatistiği ilk kez eline alan insanların bir parmağını kaybettiğini çok gördüm
    • Buna, özellikle de 1. maddeye güçlü biçimde katılıyorum. İnsanlardan %90 emin oldukları bir yanıt aralığını tahmin etmelerini istediğinizde, ortalama olarak yaklaşık %30 güven aralığına karşılık gelen aralıklar veriyorlar
      İnsanların %90’dan fazlası %70 güven aralığına bile ulaşamıyor. Kendiniz test edebilirsiniz: https://blog.codinghorror.com/how-good-an-estimator-are-you/
    • Teknik olmayan paydaşlarla, büyük bir Gantt şemasının tahmini tamamlanma tarihini modelleyen bir projede çalışmıştım. Bazı işler yeni olduğu ve sabit süreyle nicelleştirmek gerçekçi olmadığı için, iş paydaşları olasılıksal görev tamamlama süreleri istiyordu
      Paydaşlar görev sürelerini t_i ~ PERT(min, mode, max) olarak belirtme yöntemini gerçekten sevdi. Çünkü düşünme biçimlerine benziyor ve gerçek hayatta yaygın olan asimetrik dağılımları da ele alabiliyor
      Bu arada PERT, kullanıcı dostu ve sezgisel şekilde yeniden parametreleştirilmiş bir beta dağılımından ibaret: https://rpubs.com/Kraj86186/985700
    • Yazıdan edindiğim genel izlenimle örtüşüyor. Aralıklar üzerine akıl yürütmenin karmaşıklığı ve zorluğu arttıkça, örnek hesap sonucuna olan güvenim aksine azaldı
      $50 sonucu iyiydi; buna artı/eksi bir aralık ekleyince kabaca başa baş noktasına yakın olduğunu hissedebilirsiniz. Buna karşılık “gerçek bakiyenin -$60 ile +$220 aralığında olma olasılığı %95” ifadesi, her adımda yalnızca belirsizliklerin bileşimini eklemiş olmasına rağmen daha somut bilgi elde edilmiş yanılsaması yaratıyor
      Her kalemin gerçekten %95 olup olmadığını, gerçek minimum/maksimum değerlerin ne olduğunu bilmiyorsanız, yanlış olabilecek daha fazla tahmin eklemiş oluyorsunuz. Bu yüzden Drake denklemini de pek sevmiyorum. Her adım kaba tahminlerin birikimi; gerçekten işe yarar bir sayı üretip üretmediği şüpheli
    • “Kira büyük olasılıkla gıda harcamalarıyla çok koreledir ve kira yüksekse gıda harcamalarının da yüksek olma olasılığı yüksektir” kısmına pek katılmıyorum. Ortalama kiranın ortalama gıda harcamasıyla korele olduğu bir model makul; ancak bu iki parametre verildiğinde, ortalama etrafındaki oynaklık korelesiz olarak modellenebilir
      Zaten böyle şeyleri hesaba katmak isteyecek noktadaysanız, düzgün Bayesçi istatistik yapmalısınız
      “Normal dağılım, değerleri zorlayan bir tür kısıtlayıcı etken gerektirir” sözünün de nereden çıktığını bilmiyorum. Gereken şey korele olmayan hatalardır; bu da “kısıt” ya da “negatif geri besleme” değildir
    • İstatistiği hiç elektrikli el aleti ya da ateşli silah gibi düşünmemiştim, ama “istatistiği ilk kez eline alan insanlar bir parmağını kaybeder” benzetmesi gerçekten çok yerinde
  • Benzer bir araç yapmıştım
    Komut satırı için fermi: https://git.nunosempere.com/NunoSempere/fermi
    Android için dağılım hesaplayıcısı: https://f-droid.org/en/packages/com.nunosempere.distribution...
    Daha karmaşık sürüm olan https://www.squiggle-language.com/ de ilginizi çekebilir. Ya da daha hızlı ama çok daha laf kalabalığına sahip C sürümü olan <https://git.nunosempere.com/personal/squiggle.c> de var

    • Özellikle Fermi şu söz dizimine sahip
      5M 12M # number of people living in Chicago  
      
      beta 1 200 # fraction of people that have a piano  
      
      30 180 # minutes it takes to tune a piano, including travel time  
      
      / 48 52 # weeks a year that piano tuners work for  
      
      / 5 6 # days a week in which piano tuners work  
      
      / 6 8 # hours a day in which piano tuners work  
      
      / 60 # minutes to an hour  
      
      Çarpma varsayılan işlem olarak örtük kabul edilir; özel dağılım ise log-normal dağılımdır
    • Aynı aileden bir başka araç da <https://carlo.app/>. Google Sheets’te bu tür hesaplamalar yapmanızı sağlıyor
    • Squiggle’ın a~b söz dizimini desteklemesi hoş bir detay olurdu :^)
    • unsure calc’i ve Android uygulamasını denedim; sanki birbirlerinden farklı sonuçlar üretiyorlar
  • Harika. Yazıyı beğendiyseniz “Dissolving the Fermi Paradox” makalesi de ilginizi çekebilir. Yaygın nokta tahminleri yerine gerçekten olasılık yoğunluk fonksiyonlarını çarpma tarafını daha derin ele alıyor
    Biraz şaşırtıcı biçimde, belki de gerçekten yalnız olabileceğimiz sonucuna varıyor
    https://arxiv.org/abs/1806.02404

    • Dürüst olmak gerekirse biraz iç karartıcı, ama bu sitenin neredeyse herkesinin sırf metodoloji için bile okumasına değer
  • Benzer bir araç yaptım; komut satırı için[1] ve motivasyonu da benzer, ama biraz daha iddialı[2]
    Daha fazla insanın bu şekilde düşünmesi gerçekten hoşuma gidiyor. Değişkenliğin kaynakları hakkında akıl yürütebilmek herkesin eğitimini aldığı ya da geliştirdiği bir şey değil, ama giderek daha önemli hale geliyor[3]
    [1]: https://git.sr.ht/~kqr/precel
    [2]: https://entropicthoughts.com/precel-like-excel-for-uncertain...
    [3]: https://entropicthoughts.com/statistical-literacy

  • ASCII art histogram, daha doğrusu ANSI art histogram harika. Hızlıca bir şeyler ortaya çıkarmak için iyi bir hack
    Ben olsam birkaç grafik kütüphanesi dener, 5 kat daha fazla zaman harcar ve vazgeçerdim

    • Benzer şekilde, kaba el çizimi illüstrasyonlar da oldukça iyi. “Peçete” temasına çok uyuyor
    • Burada [1] Awk ile yazılmış fena olmayan bir uygulama var. Biraz kaba ama kolayca genişletilebilir görünüyor
      [1] https://github.com/stefanhengl/histogram
  • https://www.getguesstimate.com/ bunun elektronik tablo haline getirilmiş biçimi

  • Skaler çarpma olmayan bir çarpma yapmanın yolu var mı? Örneğin “üç zar atışının toplamı” demek istersem, normal dağılım olmamasını bir kenara bırakırsak 1~6 * 3 = 1~6 + 1~6 + 1~6 = 6~15 olmasını isterim
    Ama gerçekte 1~6 * 3 = 3~18 oluyor. “Her biri 10~100 gün süren 1000 işi tamamlamak ne kadar sürer?” gibi hesapları yapmayı gerçekten zorlaştırıyor

  • Çıktıyı tekrar bir aralığa veya Gauss dağılımına dönüştürebilmek güzel olurdu
    Not: Histogramda neden negatif değer (-5) olduğunu merak ediyorsanız, bu Unsure Calculator’ın basitliğinden kaynaklanan kaçınılmaz bir dezavantaj. Ek bilgi olmadan hesap makinesi negatifin imkânsız olduğunu bilemez
    Drake denklemi veya olasılıkları çarpan denklemler log uzayında da görülebilir. Her olasılığın ölçeğinde belirsizlik vardır ve nihai olasılık, log olasılıkların üstel değerlerinin çarpımının sonucudur. O zaman böyle negatif değer sorunu oluşmaz

    • Varsayılan örnek 100 / 4~6, çıktı olarak 17~25 veriyor
  • İlk başta oyuncak gibi geliyor, ama beklenmedik derecede kullanışlı görünüyor. Normal hesap makinesinin yanında kullanılabilecek bir uygulama olarak çıksa kesinlikle kurardım
    Tam olarak ne zaman ihtiyaç duyduğumu hatırlayamıyorum, ama klavyede bir kısayola bağlarsam kullanacak yerler bulmaya başlamam oldukça olası görünüyor

    • Buraya sayıları, yani nüfus × sahiplik oranı × değiştirme sıklığı × birim fiyatı koyup akıllı telefon pazarının yıllık gelirini tahmin ettim; internetteki gerçek değerden yalnızca birkaç yüzde puan farklı çıktı
      Trigonometrik fonksiyonlar da olduğuna göre, basit ölçümlerle karmaşık parçaları tersine mühendislik etmek için de iyi olabilir. Örneğin şekil hacmi, kenar açıları, kesit alanı gibi şeyler
      Çok tepeli dağılım desteği olsa iyi olurdu ama şart değil. Ters trigonometrik fonksiyonlar da ilginç olurdu ama karmaşık ve şart değil
      Her hâlükârda, yanıt aralığını tahmin etmem gerektiğinde Python açmaktan daha kullanışlı
    • Bir uygulama gerekiyorsa https://f-droid.org/en/packages/com.nunosempere.distribution... değerlendirilebilir
    • Ana dil olarak Dart kullandığı için buradan bir Flutter uygulaması yapmak kolay olur gibi
  • Özellik isteği: olasılık dağılımı belirtilebilse güzel olurdu. Örneğin ~ normal dağılım, _ uniform dağılım gibi

    • Bence bunlar fonksiyon olmalı. Örneğin µ=50, σ=1 olan Gauss dağılımı G(50, 1), λ=3 olan negatif üstel dağılım N(3), 0 ile 1 arasında uniform dağılım U(0, 1), 1’den 6’ya kadar uniform tamsayı dağılımı UI(1, 6) gibi
      Çok daha esnek ve hatırlaması da daha kolay görünüyor
    • Bu özelliğin olmaması başlı başına bir özellik. Yazıda da öyle diyor