Saturday, December 14, 2013

Scientific Computing: R language for Statistical Data Analysis

Computational Statistics is the interface between statistics and computer science. While statistics helps collect, organize, analyse and interpret data, computer science helps in writing algorithms and representing results. There are very wide verity of languages that helps with statistical data analysis in computer science. Let us look at R language available for statistics.

I presently work with R language for Statistical Data Analysis at my work. It's a very neat language and simple to learn and begin with. I had no prior knowledge of either R or Statistical methods. The main use of R for me is to use statistical methods and to do data analysis. 


R Packages
R is an interpreted language and comes with abundant of third-party packages to support variety of statistical computing methods. The R manual can be found here. A list below mentions some of the features that I have encountered so far while working with R language.

1. Descriptive Statistics for R Vectors - Summarizes a given numerical vector with information such as Mean, Mode, Median and Max.
2. Plotting Graphs for representing results - A complex set of data frame (table) can be turned into a graph to better understand the data. R graphs is so much powerful and has lot of features for creating very detailed and neat graphs.
3. Variance analysis - To understand how various variables (vectors) stored in R are related to one another. There are quite a few various methods depending upon type of values variables take - Normal , Log linear and Logistic regression.
4. Multivariate analysis - This technique helps in learning about statistical outcome of more than one variable.
5. Data types - R is very rich in type of data it can consume and data structure it uses. Arrays, Lists, Vectors, Matrix and Data frames in R generally satisfies user's needs to play with variety of data.

Apart from R's usage in statistical data analysis, R is also useful in areas such as Analytics (e.g Machine learning, Statistical Modeling), Graphics and Visualization (Refer to my previous 2 blogs) and Data mining.

I would recommend learning R (or Octave/MATLAB) since it is different than other normal programming languages we know (Java, Python, C etc.) and additionally it is packed with lot of statistical methods which is simple to use and explore. A language falling in the category of Statistical computing looks good on resume and may ultimately help explore new domain.

Sunday, December 8, 2013

Computer Graphics: Applications in Visualizing Information

Graphics helps represent information visually. It would be hard to imagine working on today's modern computer with no visually represented information. Not only computers have graphics but photographs, diagrams, engineering drawings, geometry are also termed as graphics. Computer graphics have evolved over the time and today's modern age computer comes with finest graphics and special purpose graphics processors (GPU - Graphical processing unit). The most fascinating example of computer graphics is the modern age Sci-Fi films. Computer graphics have advanced so much that these film looks very real.

Graphics are not only used in computers but are also in other disciplines. Engineering, medical, mathematics, education, Advertising and Business are some of the areas which uses graphics for variety of purposes.


Mehal Patel: LinkedIn InMaps


We as a human work with information. We feed information to computer. Computers processes and presents information to the humans the way we want. Considering when there is a large amount of data to be analyzed, computer graphics can be used to visualize those data in a manner which is understandable to a human. Information visualization, Scientific visualization, Educational visualization, Visual analysis and Product visualization are some applications of Visualization. Being a Computer Scientist, Visual analysis attracts me the most. One potential use of Visual analysis is to analyse Social networks. Social networks carries lot of information which proves to be useful for so many purposes. Friend suggestions (Suggesting friends in the same network), People influence (Identifying influential people in a social network), Entity resolution (identifying same person having multiple profiles) and Movie ratings (Suggesting movies to users based on their a-like friends feedback) are some of the inferences that can be derived from social networks visualization.

Follow this link to find out more about social networks and analyzing it's network.
To see how your LinkedIn social network looks visually, click here. (I recommend try it out). Image in this blog post shows my LinkedIn network!