sobota 1. listopadu 2014

3Vs (variety, velocity and volume)

Three terms stood out in relation to Big Data.
  Variety, Velocity and Volume.
In marketing, the 4Ps define all of marketing using only four terms:
   Product, Promotion, Place, and Price.


pátek 3. října 2014

Comparison of MATLAB and R

Advantage of R:
  • Easy setting of default parameters (inheritance from functional languages). Not that it is incredibly difficult to set a default value in MATLAB, but it's verbose and error prone.
  • Named parameters (again, inheritance from functional languages). In MATLAB, when you pass many parameters with string values to a function, it's unclear at glance, what is parameter name and what is parameter value. In R, it's immediately clear.
  • Mixed tables (combination of string and numerical columns). Incredibly useful for real world messy data sets. A partial remedy to this problem is 'Tables' in the late versions of MATLAB.
  • Possibility to name rows and columns.This is awesome because you don't have to remember that you want column 181, all you have to remember is the name of the column. Also, it has the advantage that metadata are together with the data. Hence if you perform selection, projection or transformation of the data, the metadata are automatically in sync with the data. No work is left on the user. In MATLAB, you have to use 'Struct'. Or 'Tables' in the late versions of MATLAB.
  • Negative indexes for dropping of particular columns/rows.
Advantage of MATLAB:
  • There is a fewer competing packages for MATLAB than for R. Hence in MATLAB you are spared of deciding, which library is the best.
  • Spare matrices are integral part of MATLAB. Hence all algorithms benefiting from spare matrices are using the same representation of spare matrices. In R, each library is using it's own representation.

neděle 28. září 2014

Difference between Machine Learning and Artificial Inteligence

In my biased opinion, the difference between Machine Learning (ML) and Artificial Intelligence (AI) is in the way, how do they solve problems. AI seeks an optimal solution, while ML seeks a usable solution.

And this difference reflects in used tool sets. A typical tool for AI is logic, which is traditionally binary. On the other end probability, a common tool in ML, allows any value between 0 and 1.

The difference reflects in individual algorithms as well. A* is a representative algorithm from AI. It is an elegant algorithm that guaranties, that the returned is optimal. In contrast, neuron network, an algorithm from ML, doesn’t guaranty optimality of the solution at all. But it can tackle much wider range of problems than A*. And that is the reason, why ML is currently more popular and successful than AI. Despite all the hopes, it turned out we are unable to optimally solve many problems like voice or object recognition. All we can hope for is a good enough solution. And that is exactly the thing, where ML beats AI. ML is all about “how to get a usable solution”, while AI is about “how to get an optimal solution”.  And when this optimal solution is unreachable, AI just gives up, while ML gives  at least something.





úterý 9. září 2014

Comparison of SAS data step and SQL

The default tool for ETL in SAS is data step. However, SAS also offers support for SQL. When to use which?

The main advantages of data step are:

  1. Drop keyword. Let's imagine that you want to remove one column from a table with 2000 columns. In SQL you would have to name all columns you want to keep. But in data step it is enough to just name the column you don't want to include. Awesome.
  2. Wildcards. If you want to select all columns beginning with "pred_", all you have to do in data step is to write "pred_:" (note the column). In SQL you would have to write name of each predictor.
  3. Speed. SQL in SAS is not implemented overly effectively. 
  4. LAG command. In SQL you have to perform a slow and cumbersome join to get the corresponding functionality. 
The main advantages of SQL:
  1. Group by command. Simply because data step doesn't offer such functionality.
  2. Order by command. Again you can't sort directly in data step.  
  3. Metadata. Queries on the metadata are so addictive!

středa 28. května 2014

Náboženství

Proč existují náboženství? Protože cílem každého náboženství je se rozšířit. A pokud to náhodou nebylo jeho cílem, tak takové náboženství v konkurenci ostatních zaniklo - mezi náboženstvími totiž existuje seleční tlak, podobně jako u živoucích organismů. Jak se náboženství šíři? Existují tři hlavní strategie:
  1. válka (například křížové výpravy, spanilé jízdy nebo džihád mečem),
  2. populační exploze (odpor katolické církve k antikoncepci),
  3. atraktivita (slib posmrtného života, či znovuzrození).
Válkou se likvidují oponenti, a tak zastoupení věřících stoupá na úkor ostatních. Podporou rozmnožování se zase přímo zvyšuje počet věřících. A atraktivitou náboženství se zvyšuje pravděpodobnost, že lidi na něj konvergují, ať už svévolně nebo silou.

A protože se objevili náboženství, která jsou životaschopnější, než ateismus, máme náboženství.

neděle 11. května 2014

Proč analytici jsou tak často horlezci?

  1. Když člověk celý den tráví v sedě, má potřebu protáhnout si svaly. Asi nejlepší sport na protažení všech svalů v těle je plavání. Pokud jste ale hubení, rychle ve vodě prochládáte. A tak hubení analytici často řeší bolesti zad druhým nejlepším sportem na protažení, horolezectvím.
  2. Pokud pracujete na dlouhodobých projektech, kde trvá léta, než se vyhodnotí vaše výsledky, schází vám (včasný) pocit euforie z dobře odvedené práce. U horolezectví ale máte okamžitý feedback - buď cestu vylezete, nebo ne.
  3. Jestliže jste analytik konzultant, jste děvka prodejná - pokaždé pracujete pro někoho jiného, někde jinde. A je tedy pro vás obtížné se pravidelně setkávat ke kolektivnímu sportu. Naštěstí ale, bouldering je individuální sport.
  4. V horách je nízká hustota zalidnění, a tak pokud jste přeučenými introverty, stává se z horolezectví vítaná záminka k útěku od civilizace.
  5. Lidi se dají rozdělit do dvou skupin - někteří preferují optimalizovat správnost odpovědi, jiní rychlost. Analytici obvykle inklinují k přesnosti a horolezectví je nejdřív o optimalizaci výběru cesty a až později o akčnosti. Naproti tomu squash, ten je nejdřívo akčnosti a až později o strategii. Proto obchodníci spíše preferují běh a squash.