Thursday, December 31, 2009
Wednesday, December 30, 2009
Tuesday, December 29, 2009
Something about cloud computing
Here are some helpful discussions on cloud computing, with special emphasis on statistical computing.
Saturday, December 26, 2009
Adding margin note
To add a margin note to a LaTeX document, on can use:
-------------------------
...
usepackage(marginnote)
...
\marginnote{This is a margin note here.}
...
-------------------------
-------------------------
...
usepackage(marginnote)
...
\marginnote{This is a margin note here.}
...
-------------------------
Monday, December 21, 2009
EpiData, now runs on Linux
EpiData is something I used long time ago for data entry. It was a Windows-only application at the time. Now it has evolved into a multi-platform application, which got my attention again.
MCMCglmm
This R packages estimates Generalised Linear Mixed Models via MCMC. It provides a number of random error distributions and can be used for multivariate multilevel models (simultaneous equation model).
I will do some tests and compare the results to other packages.
I will do some tests and compare the results to other packages.
This package has the potential to become the ideal modeling tool for multilevel and multiprocess analysis for Bayesians, just as aML and Sabre for non-Bayesians. I have been hoping the new JAGS can have much improved performance with similar models, but I don't know when the new version (2.0) will be out. I will be interesting to conduct a benchmark test between aML, Sabre, GLLAMM, MCMCglmm, WinBUGS, and JAGS on some complicated multilevel multiprocess statistical models.
Unlike aML and Sabre, MCMCglmm seems to be under active development.
Tuesday, December 15, 2009
6 Different Ways To End Unresponsive Programs In Linux
This article explains how to deal with non-responding programs under Linux. As always, there is more than one way to do it.
Monday, December 14, 2009
Friday, December 11, 2009
Thursday, December 10, 2009
JAGS
Looks like a minor bug fix release of JAGS is out. I wonder whether the planned new major release will have some facilities to handle skewed distributions.
Wednesday, December 09, 2009
OpenMx with mixture distribution support
A new version of OpenMx is out; this time it comes with mixture distribution, according to this announcement. I can't wait to test the new features out!
Tuesday, December 08, 2009
Sciviews
I was finally able to get Sciviews (most of it) work on my Linux machine. As before, I got some error message when opening the R terminal for the first time; by ignoring the error messages and manually install several "sv" packages locally (into my home directory), I was able to get Komodo Edit to communicate with R. But the unit test part of the package still does not work.
I mainly use Emacs (via ESS) with R, but sometimes it seems to be more convenient to have a dedicated window open for R instead of a buffer. It is less important on my new Workstation which with screen resolution of 1920*1200, but old habits die hard.
By the way, ESS has been updating like crazy in the past couple of days, from 5.6 to 5.7, then to 5.71.
By the way, I wish Sciviews can have syntax highlighting for BUGS programs.
I mainly use Emacs (via ESS) with R, but sometimes it seems to be more convenient to have a dedicated window open for R instead of a buffer. It is less important on my new Workstation which with screen resolution of 1920*1200, but old habits die hard.
By the way, ESS has been updating like crazy in the past couple of days, from 5.6 to 5.7, then to 5.71.
By the way, I wish Sciviews can have syntax highlighting for BUGS programs.
Monday, December 07, 2009
Saturday, December 05, 2009
Linux on flash drive
If I don't want to carry my Linux mobile workstation around, I can order one of those Linux flash drives.
The animation package
The "animation" package is a good teaching tool to demonstrate some key concepts in a introductory statistics course.
Advances in Social Science Research Using R
This seems to be a book worth buying: http://www.springer.com/statistics/business/book/978-1-4419-1763-8
It will come out in May 2010.
It will come out in May 2010.
Cool photo gallary: operating systems
http://www.operating-system.org/betriebssystem/_english/os-screenshots.htm
Friday, December 04, 2009
Thursday, December 03, 2009
Initialize ubuntu packages
I did not know this before: http://www.linuxeden.com/html/newbie/20091204/69367.html
R2admb
I gave R2admb a test run and found it quite promising. The design is simple: to have a simple interface between R and ADMB so ADMB can get input from R and can send output back to R for further processing. This does not eliminate the trouble of writing a TPL file, but makes everything else much simpler. I hope this package gets polished and get into CRAN soon. I am sure it will help more people to get to know ADMB in the same way as R2WinBUGS help people use WinBUGS and R2jags help people use JAGS.
Wednesday, December 02, 2009
Get the right Linux driver for my Brother printer
I've been having trouble with my Brother HL-5370DW. It prints fine under windows but not under Linux. Eventually I figured out how to solve the problem:
- Get the right driver from the Brother driver page: http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_prn.html#HL-5370DW
- Download the PPD file instead of any binary files
- Feed the PPD file into the system
Another benchmark test: Ubuntu vs. FreeBSD vs. OpenSolaris
http://www.phoronix.com/scan.php?page=article&item=freebsd8_benchmarks&num=1
Tuesday, December 01, 2009
Monday, November 30, 2009
Version control system inside Emacs
Emacs works with version control.
Here is something for using Git inside Emacs: http://xtalk.msk.su/~ott/en/writings/emacs-vcs/EmacsGit.html
Here is something for using Git inside Emacs: http://xtalk.msk.su/~ott/en/writings/emacs-vcs/EmacsGit.html
OpenMX, again
Sunday, November 29, 2009
Silly mistake
I was trying to run and debug a Fortran program within Emacs. Strangely, GDB refused to run and Emacs kept giving me error messages. I figured there might some comparabilities between gfortran, gdb, and emacs and spent quite some time trying to figure out. Finally, it turns out to be a problem with my directory name: Emacs's gdb mode cannot handle directories with spaces in their names.
Now I know.
Now I know.
Can't get the GDB plug-in for Geany to work
I have trouble to get Geany's GDB plug-in to work smoothly. For this, Emacs definitely wins.
Linux editor
http://www.computerworld.com/s/article/9030879/Linux_text_editors_Do_any_make_the_grade_?pageNumber=1
Saturday, November 28, 2009
Friday, November 27, 2009
PBSadmb for R
This package bridges ADMB and R. It was once Windows-only and now has matured and become platform-independent. I will check it out and comment more about it.
http://code.google.com/p/pbs-admb/
And here is yet another R to ADMB interface: http://r-forge.r-project.org/projects/r2admb/
http://code.google.com/p/pbs-admb/
And here is yet another R to ADMB interface: http://r-forge.r-project.org/projects/r2admb/
Thursday, November 26, 2009
Different ways to setup Emacs window size
http://stackoverflow.com/questions/92971/how-do-i-set-the-size-of-emacs-window
Wednesday, November 25, 2009
Coders at Work: Reflections on the Craft of Programming
by Peter Seibel. Really cool book, helpful to even the non-programmers.
Various wasy to improve the "compile" command in Emacs
http://www.emacswiki.org/emacs/CategoryProgrammerUtils
Tuesday, November 24, 2009
LaTeX to HTML solution
The best solution seems to be TeX4ht.
It converts a manuscript I am working on flawlessly, including tables (using the booktabs package). Wow...
It converts a manuscript I am working on flawlessly, including tables (using the booktabs package). Wow...
A good introduction of Linux/Unix to students
http://pj.freefaculty.org/cgi-bin/twiki/view.pl/Unixtips/WebHome
If I want to teach a class on data analysis using R/Emacs/Linux, I can simply refer students to this site.
If I want to teach a class on data analysis using R/Emacs/Linux, I can simply refer students to this site.
Friday, November 20, 2009
Nobel Peace Prize to Linus Torvalds
http://www.osnews.com/story/22514/Nobel_Peace_Prize_to_Linus_Torvalds_
It makes sense to me.
It makes sense to me.
Another Ubuntu review
This long review (http://arstechnica.com/open-source/reviews/2009/11/good-karma-ars-reviews-ubuntu-910.ars/1) made several good points.
Thursday, November 19, 2009
Zim: a desktop wiki
Zim is appealing, part because its built-in LaTeX-based equation editor. It is suitable for everyday writing: sorting ideas, recording references, etc.
Here is the most recent version: https://launchpad.net/zim/pyzim
Here is the most recent version: https://launchpad.net/zim/pyzim
Some good Ubuntu tips
http://www.maximumpc.com/article/features/20_essential_tips_every_ubuntu_user_should_know?page=0%2C0
Tuesday, November 17, 2009
2009 ranking of sociology deparment
Don't know how meaningful it is: http://grad-schools.usnews.rankingsandreviews.com/best-graduate-schools/top-sociology-schools/rankings
Sunday, November 15, 2009
OpenMX
Looks promising: http://openmx.psyc.virginia.edu/
Right now it cannot be build from source because there are some comparabilities between OpenMx and R 2.10.0, but I assume this will be resolved soon.
And the development seems to be quite active.
Right now it cannot be build from source because there are some comparabilities between OpenMx and R 2.10.0, but I assume this will be resolved soon.
And the development seems to be quite active.
Saturday, November 14, 2009
Virtual machine
With 8 GB ram and fast core2 extreme processor, it is natural to have a Linux hosting Windows virtual machines on my Precision mobile workstation so I don't have to book back to Windows whenever I need to work with my colleagues using Word. There are several alternatives such as VMware, VirtualBox. It is worthwhile to try them out.
Wow, this is hard to believe
http://www.osnews.com/story/22489/MPAA_Shuts_Down_Municipal_WiFi_Due_to_Single_Illegal_Download
Thursday, November 12, 2009
Tuesday, November 10, 2009
MCMC in Python
The Python library "PyMC" looks promising (http://code.google.com/p/pymc/). Also, here are some demos: http://healthyalgorithms.wordpress.com/2008/11/26/mcmc-in-python-pymc-for-bayesian-probability/
This is convinient
http://www.ubuntugeek.com/aptlinex-web-browser-addon-to-install-ubuntu-packages-with-a-click.html
Negative reviews of Ubuntu 9.10
- http://www.linux-mag.com/cache/7600/1.html
- http://www.dedoimedo.com/computers/ubuntu-9-10.html
ADMB IDE
The idea of creating an IDE for ADMB is great. The currently one, which is based on Emacs, works well out-of-the-box. For a new Emacs user, it is great - the IDE has been tweaked in the way people who are not used to Emacs key binding can use immediately. But for people who use Emacs on daily basis, and have a long .emacs file, the idea of making heavy changes on the Emacs configuration file (key bindings, etc.) might not be that attractive.
A better solution will be to offer three different sets of configuration files: the one is for completely Emacs newcomers, the second one is for people who have some familiarity with Emacs but are willing to make some changes to their work habit, the third is for those diehard Emacs user who only want a syntax highlighting and maybe a key binding for compiling a .tpl file.
Nov. 19:
Well, it turns out that the "minimal IDE" I was talking about is already there: the ADMB Emacs editing mode. Simply put this file in the include directory and put two lines in the .emacs file, it works like charm. All other customizations are entirely optional. This seems to be a perfect solution.
A better solution will be to offer three different sets of configuration files: the one is for completely Emacs newcomers, the second one is for people who have some familiarity with Emacs but are willing to make some changes to their work habit, the third is for those diehard Emacs user who only want a syntax highlighting and maybe a key binding for compiling a .tpl file.
Nov. 19:
Well, it turns out that the "minimal IDE" I was talking about is already there: the ADMB Emacs editing mode. Simply put this file in the include directory and put two lines in the .emacs file, it works like charm. All other customizations are entirely optional. This seems to be a perfect solution.
Photran
It is Nov. 10 now and the Photran web site is stilling saying that the new version will be made available by the end of Oct.
Monday, November 09, 2009
Saturday, November 07, 2009
ssh with X11
I don't have Stata installed on my new 64-bit machine so I need to use the copy on my older machine via ssh. The simple command of "ssh -X 192.168.2.3" does the trick!
Friday, November 06, 2009
Why Linux does not need a disk defragmenter?
This is by far the most intuitive discussion I found: http://geekblog.oneandoneis2.org/index.php/2006/08/17/why_doesn_t_linux_need_defragmenting
Thursday, November 05, 2009
Winbugs 1.4 works really well under Ubunti 9.10 64-bit
via Wine. I had trouble getting it running on my 32-bit Ubuntu 9.04 box. I am quite pleased.
After adding "bugs.directory="/home/shige/bin/WinBUGS14/", program="WinBUGS", useWINE=TRUE" to each BUGS call using R2WinBUGS, I was able to run the radon example provided in Gelmam's book.
After adding "bugs.directory="/home/shige/bin/WinBUGS14/", program="WinBUGS", useWINE=TRUE" to each BUGS call using R2WinBUGS, I was able to run the radon example provided in Gelmam's book.
Wednesday, November 04, 2009
Scivews-K got updated again
With the recent update, I was able to get it working properly.
Interestingly, while it works on my Vista 64-bit, it does not work on my Ubuntu 64-bit. I have no idea what is going on.
Interestingly, while it works on my Vista 64-bit, it does not work on my Ubuntu 64-bit. I have no idea what is going on.
64-bit aML
I was able to compile and run aML under 64-bit Ubuntu 9.10. The only problem was "maktab", so I replaced my binary with the one supplied by the official web site. I will do some benchmark and see if these binaries are faster.
Tuesday, November 03, 2009
Advances in Statistical Methods for the Health Sciences
http://www.springerlink.com/content/g23254/?sortorder=asc&v=condensed
A useful book
Friday, October 30, 2009
Inkscape is a handy tool
Inkscape (http://www.inkscape.org/) is a free software package for graphics. It reads a large number of graphics formats including eps and pdf, and allows one to modify them and output to a large number of different graphics formats.
Thursday, October 29, 2009
Wednesday, October 28, 2009
Another bayesian book
Bayesian Methods for Data Analysis, Third Edition: http://www.crcpress.com/product/isbn/9781584886976
Tuesday, October 27, 2009
Using the "foreign" package for data conversion
I was in a rush to convert a SPSS data into Stata format. Somehow my Stattransfer v.8 for Linux was lost and I did not want pause my work and go back to Windows just to get this one file converted. So fire Emacs+ESS+R, load the "foreign" package, did the file conversion, and it worked!
Monday, October 26, 2009
Ecological Models and Data in R
http://people.biology.ufl.edu/bolker/emdbook/
Seems to be a good book.
Seems to be a good book.
Sunday, October 25, 2009
An easy way to get additional distribution in BUGS and JAGS
http://mathstat.helsinki.fi/openbugs/data/Docu/Tricks.html
Also, it seems that the JAGS development is moving right along: http://calvin.iarc.fr/wordpress/?p=15
Skewed multivariate distribution
This research has done some research on this topic: http://www.ime.usp.br/~mbranco/works.html
WinBUGS vs. ADMB
Some of the statements are no longer true (e.g. ADMB being not free), but the overall arguments seem fair.
Friday, October 23, 2009
Scivews-K got updated
http://www.sciviews.org/SciViews-K/index.html
The problem is, I cannot get it to work, on either Windows or Linux.
The problem is, I cannot get it to work, on either Windows or Linux.
Thursday, October 22, 2009
Wednesday, October 21, 2009
InferenceR looks interesting
I obtained a free academic copy of the InferenceR, which is a R IDE for Windows. I has several interesting features such as a visual debugger. It is definitely worth some further exploration. Of course, the problem (and the only problem for now) is that it is Windows-only, cannot run it on Linux.
Tuesday, October 20, 2009
Editing while running R within Emacs
Simply press "Ctrl + g" will return the control back to the user.
Running JAGS via R2jags
I finally figure out how to run WinBUGS examples in JAGS via R2jags. JAGS is preferred over WinBUGS for its cross-platform compatibility and performance (it was written in C++).
Friday, October 16, 2009
Syntax for sweave.sh
"Sweave.sh -otld -c file.Rnw" will compile the Rnw file, create a PDF file, and open it automatically.
The optimal way to do sweave
The optimal way to do sweave may be to have a master file in LaTeX, and a separate Rnw file contains all the computations, figures, and tables. That way, it is easy to compile the LaTeX as the writing goes on without the hassle of carrying out the computations (especially when some of them are heavy) every time.
When the computations are finished, one can simply include the generated LaTeX output in the master LaTeX file to get the complete manuscript. Here are the files:
When the computations are finished, one can simply include the generated LaTeX output in the master LaTeX file to get the complete manuscript. Here are the files:
- master.tex: the master LaTeX file that contains text materials of a paper;
- tables.Rnw: the sweave file for creating all the tables;
- tables.tex: the LaTeX output file that can be included in the master file;
- figure.Rnw: the sweave file for creating all the figures;
- figure.tex: the LaTeX output file that can be included in the master file;
- driver.tex: a simple LaTeX driver to view the tables and figures before including them into the master LaTeX file.
Thursday, October 08, 2009
Stata teaching demo
This is where all the Stata teaching demos: http://www.ats.ucla.edu/stat/stata/ado/teach/
Sunday, September 20, 2009
Childhood obesity
It has been fun to work on the childhood obesity stuff again! We'll see how the grant goes.
Thursday, September 17, 2009
Models for Discrete Longitudinal Data
Free e-book: http://www.springerlink.com/content/w2016h/?sortorder=asc&p_o=0
Another bayesian book
Spiegelhalter, D., Best, N., Lunn, D. and Thomas, A. (2009) Bayesian Analysis using the BUGS language: A Practical Introduction, Chapman and Hall
Also, the online materials for "Bayesian Modeling Using WinBUGS" books keeps expanding: http://stat-athens.aueb.gr/~jbn/winbugs_book/
Sunday, September 06, 2009
Reading and writing data using Python
http://www.ibm.com/developerworks/opensource/library/os-python8/?ca=dgr-lnxw16DicoverPythonP8
Saturday, September 05, 2009
Why do we focus on individuals?
Here is the answer offered by Kenny et al. (2006):
"...First, no doubt much of the attention given to the individual is cultural. The United States is the most individualistic country in the world (Smith & Bond, 1994), and because the United States has dominated social and behavioral research, the prevalence of research concerning individuals is hardly surprising.
A second factor that has contributed to this individualistic orientation is the reliance on standard statistical methods such as analysis of variance (ANOVA) and multiple regression...
The third reason is that psychologists have dominated research in the social and behavioral sciences ..."
Very interesting book:
"...First, no doubt much of the attention given to the individual is cultural. The United States is the most individualistic country in the world (Smith & Bond, 1994), and because the United States has dominated social and behavioral research, the prevalence of research concerning individuals is hardly surprising.
A second factor that has contributed to this individualistic orientation is the reliance on standard statistical methods such as analysis of variance (ANOVA) and multiple regression...
The third reason is that psychologists have dominated research in the social and behavioral sciences ..."
Very interesting book:
Kenny, D. A., D. A. Kashy, and W. L. Cook. 2006. Dyadic data analysis. New York, NY: The Guilford Press.
Sunday, August 30, 2009
Saturday, August 29, 2009
MonkeyTeX
An online LaTeX processing system and document repository: http://monkeytex.bradcater.webfactional.com/
I got the information from this post: http://www.linux.com/news/software/applications/40457-four-more-cool-word-processors
I got the information from this post: http://www.linux.com/news/software/applications/40457-four-more-cool-word-processors
Friday, August 28, 2009
Sunday, August 23, 2009
R handy for crunching data
http://www.ibm.com/developerworks/library/l-sc16.html?S_TACT=105AGX52&S_CMP=cn-a-l
Creating a swap file instead of (or in addition to) a swap partition
https://help.ubuntu.com/community/SwapFaq
Saturday, August 22, 2009
Sunday, August 16, 2009
Reproducible Research
http://reproducibleresearch.net/index.php/Main_Page
This is an important topic for scientists of all disciplines and deserves more attention among social scientists.
This is an important topic for scientists of all disciplines and deserves more attention among social scientists.
GTD: getting things done
- http://cnlox.is-programmer.com/posts/10354.html
- http://sachachua.com/wp/2007/12/28/emacs-getting-things-done-with-org-basic/
- http://sachachua.com/wp/2008/01/18/outlining-your-notes-with-org/
Saturday, August 15, 2009
High tech, low tech?
Interesting article: http://www.iq.harvard.edu/blog/sss/archives/2006/01/tools_for_resea.shtml
Thursday, August 13, 2009
Workflow applications
- http://www.kieranhealy.org/blog/archives/2004/12/11/indispensible-applications/
- http://obsidianrook.com/devnotes/joys-of-rcs.html
- http://www.madboa.com/geek/rcs/
- http://www.cl.cam.ac.uk/~mgk25/publ-tips/
Thursday, August 06, 2009
CacheSweave
I finally figured out how to use the R package "cachesweave". The trick is that the code chunks must follow some order, like the following:
-----------------------------------------------------------
<setup>=
setCacheDir("testcache")
@
<first>=
library(Zelig)
library(memisc)
@
...
------------------------------------------------------------
-----------------------------------------------------------
<
setCacheDir("testcache")
@
<
library(Zelig)
library(memisc)
@
...
------------------------------------------------------------
Reshaping data
This post (http://www.statmethods.net/management/reshape.html) explains how to "reshape" data in R using the reshape package. It not only can do what the reshape command in Stata does (the "melt" step), but also a step further (the "cast" step). Quite amazing.
Wednesday, August 05, 2009
Apple may just be worse than Microsoft
- http://www.workswithu.com/2008/10/20/apple-a-bigger-open-source-enemy-than-microsoft/
- http://lifehacker.com/5324724/bad-apple-an-argument-against-buying-an-iphone
Report tool
The R package "reporttools" looks promising. It generate various kinds of descriptive tables, including two-way tabulations, in LaTeX that is suitable for directly inserting into a Sweave document.
PIDA
The PIDA project (http://www.debianadmin.com/pida-python-integrated-development-application-a-python-ide.html) represents an interesting approach toward Python IDE. It builds upon either VIM or Emacs (my editor of choice) and tries to make Python specific programming easier.
VoIP for blackberry
I am having hard time finding a good VoIP application for my blackberry. Skype does not have one, TruePhone's BB version does not support WIFI, neither does Nimbus. Should have bought an Android instead (really don't like Apple stuff).
Tuesday, August 04, 2009
The foundations of statistics: A simulation-based approach
A complete book with the source code (Sweave) on-line:
http://www.ling.uni-potsdam.de/~vasishth/SFLS.html
http://www.ling.uni-potsdam.de/~vasishth/SFLS.html
Saturday, July 25, 2009
Work with the cachSweave package
This blog explains how to work with the R package "cacheSweave" to save time by forgo some of the time consuming computations while using Sweave:
- http://ggorjan.blogspot.com/2008/11/sweavesh-plays-with-cachesweave.html
- http://ggorjan.blogspot.com/2009/04/sweavesh-update.html
Thursday, July 23, 2009
Friday, July 03, 2009
Tuesday, June 30, 2009
Sunday, June 28, 2009
Graph with two axes
In R: http://robjhyndman.com/index.php?option=com_content&view=article&id=233:r-graph-with-two-y-axes&catid=32:mbr&Itemid=103
In Stata: http://www.ats.ucla.edu/stat/stata/library/GraphExamples/code/twobar.htm
Also, R package "plotrix" has a function "twoord.plot" designed specifically for this.
In Stata: http://www.ats.ucla.edu/stat/stata/library/GraphExamples/code/twobar.htm
Also, R package "plotrix" has a function "twoord.plot" designed specifically for this.
Friday, June 26, 2009
Google scholar search
This google scholar search of "shared latent variable random effects" yields some interesting results.
Monday, June 22, 2009
SabreR
SabreR consists three components: a Sabre binary, a R wrapper that communicate with the binary file (input and output), and a short R function to print the output.
The developer of SabreR wrote the wrapper in the somewhat unconventional way, which makes table making and simulation difficult.
The developer of SabreR wrote the wrapper in the somewhat unconventional way, which makes table making and simulation difficult.
Saturday, June 20, 2009
Statistical simulation
Chapter 7 of Data Analysis Using Regression and Multilevel/Hierarchical Models by Gelman and Hill offers good description of why use statistical simulation in quantitative research. Their R package ARM provides a good place to get started to program one's own simulation module. Of course, Zelig has already had a impressive collection of models pre-programmed; but custom programming is always more fun.
Thursday, June 11, 2009
Table making in R
Both MEMISC and APSRTABLE can automatically generate publication-quality tables from estimated models in R.
In addition, MEMISC also provides infrastructure for survey data analysis.
In addition, MEMISC also provides infrastructure for survey data analysis.
Monday, June 08, 2009
Apophenia
Looks like the author of Apophenia library finally fixed the compilation problem under Ubuntu 9.04.
Thursday, June 04, 2009
Wednesday, June 03, 2009
CVS repository for Emacs
The CVS repository for Emacs seems to be broken during the past couple of days. Don't know what is going on there.
Sunday, May 31, 2009
Asus and its netbooks, with interesting comments
http://www.osnews.com/comments/21589
The comments are really interesting. I have always wondered why Asus chose Xandros instead of Ubuntu for its netbook. Now there seems to be a clue.
The comments are really interesting. I have always wondered why Asus chose Xandros instead of Ubuntu for its netbook. Now there seems to be a clue.
Modeling Demographic Processes In Marked Populations
A good book, with quite some Bayesian-related information: http://www.springerlink.com/content/p67808/?p=cf7025ba5c32451290540f7ef5531dc6&pi=0
Saturday, May 30, 2009
Sharing monitor, keyboard, mouse, etc.
It seems that, with the help of this small gadget (http://www.belkin.com/flip/), two computers can share all the peripherals.
Friday, May 29, 2009
Thursday, May 28, 2009
Sabre and SabreR
I discovered another multilevel multiprocess software, Sabre (and its R implementation SabreR). It seems to be very efficient and well integrated with R. It is also possible to run it (a parallel version) on a cluster. Looks very promising. I should be able to use it for serious exploration in a day or two.
Unlike aML, Sabre is still under active development, which means that new features, such as more finite mixture modeling capability, hopefully may be incorporated into future releases.
Home page: http://sabre.lancs.ac.uk/
Tutorial: http://sabre.lancs.ac.uk/short_course.html
Unlike aML, Sabre is still under active development, which means that new features, such as more finite mixture modeling capability, hopefully may be incorporated into future releases.
Home page: http://sabre.lancs.ac.uk/
Tutorial: http://sabre.lancs.ac.uk/short_course.html
Wednesday, May 27, 2009
R2jags is really cool
The package "R2jags" is really cool. Now with JAGS, it is possible to do everything about Bayesian analsys on Linux the same way as on Windows.
Tuesday, May 19, 2009
Another blah blah blah
Just another guy who claims that Linux is not ready: http://linuxfonts.narod.ru/why.linux.is.not.ready.for.the.desktop.html
Monday, May 18, 2009
Friday, May 15, 2009
Wednesday, May 13, 2009
Tuesday, May 12, 2009
Hibernation and suspension
I am glad to find out that both hibernation and suspension works perfectly on my Sony laptop using Ubuntu 9.04. This is a BIG improvement.
Sunday, May 10, 2009
Upgrading to OpenOffice 3.1
http://news.softpedia.com/news/How-to-Install-OpenOffice-org-3-1-on-Ubuntu-9-04-111105.shtml
Friday, May 08, 2009
Build CVS Emacs
- cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
- ./configure --with-x-toolkit --with-xft
Intel Fortran and aML
I am happy to discover that aML can be successfully compiled on Ubuntu using the non-commercial Intel Fortran compiler v.11.
Wednesday, May 06, 2009
Friday, April 17, 2009
Linux on laptop
This article compares performance & experience of five Linux distros on laptop and picks Mint as the best one: http://www.laptopmag.com/review/software/what-flavor-of-linux-is-right-for-you.aspx?pid=1
Playing .ape music under Linux
I am pleasantly surprised to find out that Mplayer can play .ape format music.
Monday, April 13, 2009
Rjags on 64-bit Linux
Use this: install.packages("rjags",configure.args="--with-jags-lib=/usr/local/lib")
Sunday, April 12, 2009
Best introduction to Bayesian statistics
Chapter 3 of Scott Lynch's book "Introduction to applied Bayesian statistics and estimation for social scientists" is the best introductory materials of the Bayesian statistics.
Saturday, April 11, 2009
Rebuild R libraries for the new version
After upgrading to a new version of R, type "update.packages(checkBuilt =TRUE, ask=FALSE)" to rebuild all the libraries currently present in the system.
To install from Gary King's repository, just type "install.packages("Zelig", repos = "http://gking.harvard.edu")"
To build R, use "./configure --enable-R-shlib" or
./configure --enable-R-shlib CXXFLAGS="-g -O3" CFLAGS="-g -O3"
or
./configure --enable-R-shlib --with-blas="-lptf77blas -lpthread -latlas" CXXFLAGS="-g -O3"
With OpenBLAS:
./configure --enable-R-shlib --with-blas="-lpthread -lopenblas" CXXFLAGS="-g -O3"
Or with Intel MKL:
./configure --enable-R-shlib --enable-threads=posix --with-lapack --with-blas="-I$MKLROOT/include -L$MKLROOT/lib/intel64
In case R cannot find the tcltk files, use this " ./configure --enable-R-shlib --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh --with-tk-config=/usr/lib/tk8.5/tkConfig.sh". This suddenly became necessary when I tried to compile the release candidate version of R 2.14 today. The solution was provided by this blog post.
This may yield even better results: ./configure --enable-R-shlib --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh --with-tk-config=/usr/lib/tk8.5/tkConfig.sh --with-blas="-lptf77blas -lpthread -latlas"
To fulfill build dependency, use "sudo apt-get build-dep r-cran-rgl"
http://wiki.r-project.org/rwiki/doku.php?id=getting-started:installation:debian
==================================================
MKL=" -L${MKL_LIB_PATH} -L${OMP_LIB_PATH} -Wl,--start-group -lmkl_gf_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread"
./configure --enable-R-shlib --enable-threads=posix --with-blas="$MKL" --with-lapack CXXFLAGS="-g -O3"
To install from Gary King's repository, just type "install.packages("Zelig", repos = "http://gking.harvard.edu")"
To build R, use "./configure --enable-R-shlib" or
./configure --enable-R-shlib CXXFLAGS="-g -O3" CFLAGS="-g -O3"
or
./configure --enable-R-shlib --with-blas="-lptf77blas -lpthread -latlas" CXXFLAGS="-g -O3"
With OpenBLAS:
./configure --enable-R-shlib --with-blas="-lpthread -lopenblas" CXXFLAGS="-g -O3"
Or with Intel MKL:
./configure --enable-R-shlib --enable-threads=posix --with-lapack --with-blas="-I$MKLROOT/include -L$MKLROOT/lib/intel64
-lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_lapack -lmkl_core -liomp5 -lpthread
" CXXFLAGS="-g -O3"In case R cannot find the tcltk files, use this " ./configure --enable-R-shlib --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh --with-tk-config=/usr/lib/tk8.5/tkConfig.sh". This suddenly became necessary when I tried to compile the release candidate version of R 2.14 today. The solution was provided by this blog post.
This may yield even better results: ./configure --enable-R-shlib --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh --with-tk-config=/usr/lib/tk8.5/tkConfig.sh --with-blas="-lptf77blas -lpthread -latlas"
To fulfill build dependency, use "sudo apt-get build-dep r-cran-rgl"
http://wiki.r-project.org/rwiki/doku.php?id=getting-started:installation:debian
==================================================
MKL_LIB_PATH=/opt/intel/composer_xe_2013.4.183/mkl/lib/intel64 |
OMP_LIB_PATH=/opt/intel/composer_xe_2013.4.183/compiler/lib/intel64 |
export LD_LIBRARY_PATH=${MKL_LIB_PATH}:${OMP_LIB_PATH} |
|
Thursday, April 09, 2009
Open source mind mapping
Mind mapping is an important part of research. As far I know, there are two open source options: freemind and xmind. I use both but prefer xmind because it is built on the Eclipse framework and is more elegant than freemind at the moment. If I need more functionalities such as exporting to Word or Powerpoint, I can upgrade to the professional edition with less than $50 per year.
I chose to install it on top my existing Eclipse instead of using the .deb binary file so that I do not have to leave Eclipse just for mind mapping.
I chose to install it on top my existing Eclipse instead of using the .deb binary file so that I do not have to leave Eclipse just for mind mapping.
Thursday, April 02, 2009
Sams Teach Yourself Emacs in 24 Hours
http://www.emacs.uniyar.ac.ru/doc/em24h/index.htm
Good reference for Emacs.
Good reference for Emacs.
Tuesday, March 31, 2009
Mint
Linux Mint is the by far the best Linux distro I have ever tried. It is based on Ubuntu but much polished. After trying Mint, I don't think I will come back to Ubuntu.
Saturday, March 28, 2009
Linux text editors
I finally realized that I need only two text editors under Linux: Emacs for writing LaTeX and programming and MadEdit for anything else.
Friday, March 27, 2009
Looking forward to Jaunty
After several distro upgrades, my Ubuntu installation looks a little unstable. Now, one month away from the release of Januty, my Ubuntu suddenly sopped working on my laptop. This makes it easy for me to decide between "fresh install" and "upgrade" this time.
Monday, March 23, 2009
Thursday, March 19, 2009
LatentGold
The new version of LatentGold provides a command line interface. I found the syntax is quite intuitive and easy to learn. The fact that it also has a data viewer/editor is also an advantage, compared to Mplus.
Wednesday, March 18, 2009
Useful Ubuntu tools
http://blog.ibeentoubuntu.com/2009/03/extra-repositories-for-ubuntu-810-you.html
Tuesday, March 17, 2009
Monday, March 16, 2009
Sunday, March 15, 2009
Thinkpad
I ordered a new thinkpad about a month ago and I leave LA for Beijing next week. I have to cancel the order if I cannot get it before I leave. That is a lose-lose situation for both Lenovo and myself.
Thursday, March 12, 2009
NoteExpress, again
The NoteExpress developer graciously offered me a free license in exchange for suggestions for further improvements. I will prepare a rather detailed report of the kind of problems I encountered in the process preparing my latest manuscript.
Sunday, March 01, 2009
NoteExpress
A good bibliography software. As far as I can tell, it has all the functions of Endnote with only a fraction of its price: http://www.reflib.org/
It still has some rough edges (the journal templates do not work as expected, for example), but looks promising.
It still has some rough edges (the journal templates do not work as expected, for example), but looks promising.
Data Analysis Using Regression and Multilevel/Hierarchical Models
Very good book: http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521867061
Friday, February 27, 2009
Bullbloger
Here is an interesting blog (in Chinese): http://www.bullogger.com/
- http://www.bullogger.com/blogs/xys/
- http://www.bullogger.com/blogs/dbanotes/
- http://www.bullogger.com/blogs/songshuhui/
Monday, February 23, 2009
OpenWatcome 1.8
The open source compiler project OpenWatcom just let out a new release, v. 1.8. I don't have much experience with this compiler but remember in the old days the Watcom compiler used to beat its competitors including big names like Microsoft, Borland, and Symantic regarding to performance.
It probably will not work with ADMB, but it would be really great if it does.
It probably will not work with ADMB, but it would be really great if it does.
Debian Lenny looks cool
http://www.howtoforge.com/the-perfect-desktop-debian-lenny
I am going to find a spare machine and make a test install.
I am going to find a spare machine and make a test install.
ADMB, again
Dave, the main person behind the open source ADMB project, answered my earlier question about how to estimate mixture growth model using ADMB. His reply is very helpful and illuminating, and the source code can be used as template for other similar models:
--------------------------------------------------------------------------------------------------------
Shige,
I think the "ADMB team" consists mostly of me. So I'll try and answer
your question about finite mixtures and growth models. Until today I had
very little idea what growth models were, but in writing the simulator I
hope I am getting the idea.
Actually finite mixtures are handled directly so it is not necessary to
use the random effects package. This is actually an advantage since it
greatly speeds up the calculations.
To illustrate the ideas I built a simulator to create a data set
something like you describe in
http://sgsong.blogspot.com/2009/01/finite-mixture-modeling-with-admb.html
This could be done in R but I used ADMB since it illustrates some of the
techniques which are useful for building the analyzer. since you didn't
identify the growth curves you used I use the von Bertalanfy curve
L_t = Linf * ( 1 - exp(-k*age))
where L_0=0 is assumed. Of course it is a simple matter to switch to a
different curve There are two curves one with Linf=100 and the other
with Linf=120. For both cases k=0.11 (time measured in years).
I generated 2000 samples. First the size measured in 2 month intervals
and then at ages 8,11,15,19
The individuals were generated with a probability of 0.4 of belonging to
group1 (linf=100) and 0.6 of belonging to group 2. After the first
period the individual were changed at random to groups 1 or 2 with a
transition matrix
.8 prob stay in group 1
.2 prob to move from group 2 to group 1
.7 prob to say in group 2
.3 prob to move from group 2 to group 1
The the size data was generator using the appropriate growth curve.
the resulting sizes were then perturbed using multiplicative lognormal
random variables (std dev of .08) which were highly positively
correlated (0.9)
The resulting output was analyzed with a finite mixture model where
the 12 initial measuremeasurements are assumed to come from a mixture of
two multivariate log-normal distributions with a correlation matrix of
the form
1 rho rho^2 .... rho^11
rho 1
rho^2 .......
etc.
The model was fit and the Hessian evaluated in under a minute.
these are the parameter estimates for a typical run.
# Number of parameters = 10 Objective function value = -84436.9
Maximum gradient component = 0.0208847
# p1coff:
0.379774 0.620226
# p2coff:
0.482844 0.517158
# Linf:
99.2992 119.646
# k:
0.109928 0.110294
# rho:
0.882750993879
# lsigma:
-2.54165198426
For each individual the conditional probabilities of belonging in either
of the two groups was calculated after observing the first sizes and
again after observing the second group of sizes. this was used to
estimate the transition probabilities. (Of course this could be done in
the model which would be more efficient.)
~
~ 0.793901 0.206099
0.292103 0.707897
~
which is almost perfect.
the C++ code for the simulator is
~
~
#include
dvector growth_function(const dvector & age,const dvector& theta)
{
dvector tmp=theta(1)*(1.0-exp(-theta(
2)*age)); // use you own
return tmp; // growth function here
}
int main(int argc,char * argv[])
{
int n=2000;
int nm=16;
int iseed=289;
random_number_generator rng(iseed);
dvector p1(1,2); // priori probability that a child is in group 1 or 2
p1(1)=.4; p1(2)=.6;
dvector p2(1,2);
dmatrix M(1,2,1,2); // transition probabilities
M(1,1)=.8; // 1 remains 1
M(2,1)=.3; // 2 moves to 1
M(1,2)=.2; // 1 moves to 2
M(2,2)=.7; // 2 remains 2
dvector choose(1,n);
dvector choose1(1,n);
double sigma=0.08;
double rho=0.9;
dmatrix size(1,n,1,nm);
imatrix group(1,n,1,2);
dvector age(1,nm);
dvector eta(1,nm);
dvector eps(1,nm);
age.fill_seqadd(.2,.2);
age(13)=8;
age(14)=11;
age(15)=15;
age(16)=19;
dmatrix theta(1,2,1,2); //parameters for growth curves
theta(1,1)=100;
theta(2,1)=120;
theta(1,2)=.11;
theta(2,2)=.11;
choose.fill_randu(rng); // use to pick group that each child belongs to
choose1.fill_randu(rng); // use to pick group that each child belongs to
int i;
for (i=1;i<=n;i++) // loop over children { if (choose(i)age(1,12),theta(group(i,1)));
size(i)(13,16)=growth_function(age(13,16),theta(group(i,2)));
}
double rho2=rho*rho;
for (i=1;i<=n;i++) // loop over children and add noise { eta.fill_randn(rng); eps(1)=eta(1); int j; for (j=2;j<=4;j++) // loop over children and add noise { eps(j)=rho*eps(j-1)+sqrt(1.0-rho2)*eta(j);
}
eps(5)=eta(1);
for (j=6;j<=16;j++) // loop over children and add noise { eps(j)=rho*eps(j-1)+sqrt(1.0-rho2)*eta(j);
}
size(i)=elem_prod(size(i),exp(sigma*eps)); // lognormal error
}
ofstream ofs("growth.dat");
ofs << "# nobs" << i="1;i<=" lmin="min(column(sizes,nm));" lmax="max(column(sizes,nm));" sigma="exp(lsigma);" vinv="1.0/(sigma*sigma);" i="1;i<=" j="1;j<=" i="1;i<=" j="1;j<=" ic1="inv(cor1);" ic2="inv(cor2);" is1="ic1*vinv;" is2="ic2*vinv;" lds1="ln_det(is1);" lds2="ln_det(is2);" psum1="sum(p1coff);" p1="p1coff/psum1;" psum2="sum(p2coff);" p2="p2coff/psum2;" lmax="max(column(sizes,nm));">exp(-k(1)*ages)));
pred_size(2)=log(Linf(2)*(1.0-exp(-k(2)*ages)));
FUNCTION get_likelihood
int i;
dvar_matrix res(1,2,1,nm);
for (i=1;i<=n;i++) { res(1)=log(sizes(i))-pred_size(1);
res(2)=log(sizes(i))-pred_size(2);
dvar_vector res1a=res(1)(1,12);
dvar_vector res1b=(res(1)(13,16)).shift(1);
dvar_vector res2a=res(2)(1,12);
dvar_vector res2b=(res(2)(13,16)).shift(1);
dvariable l1a=exp(-0.5*res1a*(is1*res1a));
dvariable l1b=exp(-0.5*res1b*(is2*res1b));
dvariable l2a=exp(-0.5*res2a*(is1*res2a));
dvariable l2b=exp(-0.5*res2b*(is2*res2b));
f-=log(1.e-10+(p1(1)*l1a+p1(2)*l2a));
f-=log(1.e-10+(p2(1)*l1b+p2(2)*l2b));
f-=0.5*(lds1+lds2);
q0(i,1)=value(p1(1))*value(l1a);
q0(i,2)=value(p1(2))*value(l2a);
q0(i)/=sum(q0(i));
q1(i,1)=value(p2(1))*value(l1b);
q1(i,2)=value(p2(2))*value(l2b);
q1(i)/=sum(q1(i));
}
REPORT_SECTION
report <<>
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
Shige,
I think the "ADMB team" consists mostly of me. So I'll try and answer
your question about finite mixtures and growth models. Until today I had
very little idea what growth models were, but in writing the simulator I
hope I am getting the idea.
Actually finite mixtures are handled directly so it is not necessary to
use the random effects package. This is actually an advantage since it
greatly speeds up the calculations.
To illustrate the ideas I built a simulator to create a data set
something like you describe in
http://sgsong.blogspot.com/2009/01/finite-mixture-modeling-with-admb.html
This could be done in R but I used ADMB since it illustrates some of the
techniques which are useful for building the analyzer. since you didn't
identify the growth curves you used I use the von Bertalanfy curve
L_t = Linf * ( 1 - exp(-k*age))
where L_0=0 is assumed. Of course it is a simple matter to switch to a
different curve There are two curves one with Linf=100 and the other
with Linf=120. For both cases k=0.11 (time measured in years).
I generated 2000 samples. First the size measured in 2 month intervals
and then at ages 8,11,15,19
The individuals were generated with a probability of 0.4 of belonging to
group1 (linf=100) and 0.6 of belonging to group 2. After the first
period the individual were changed at random to groups 1 or 2 with a
transition matrix
.8 prob stay in group 1
.2 prob to move from group 2 to group 1
.7 prob to say in group 2
.3 prob to move from group 2 to group 1
The the size data was generator using the appropriate growth curve.
the resulting sizes were then perturbed using multiplicative lognormal
random variables (std dev of .08) which were highly positively
correlated (0.9)
The resulting output was analyzed with a finite mixture model where
the 12 initial measuremeasurements are assumed to come from a mixture of
two multivariate log-normal distributions with a correlation matrix of
the form
1 rho rho^2 .... rho^11
rho 1
rho^2 .......
etc.
The model was fit and the Hessian evaluated in under a minute.
these are the parameter estimates for a typical run.
# Number of parameters = 10 Objective function value = -84436.9
Maximum gradient component = 0.0208847
# p1coff:
0.379774 0.620226
# p2coff:
0.482844 0.517158
# Linf:
99.2992 119.646
# k:
0.109928 0.110294
# rho:
0.882750993879
# lsigma:
-2.54165198426
For each individual the conditional probabilities of belonging in either
of the two groups was calculated after observing the first sizes and
again after observing the second group of sizes. this was used to
estimate the transition probabilities. (Of course this could be done in
the model which would be more efficient.)
~
~ 0.793901 0.206099
0.292103 0.707897
~
which is almost perfect.
the C++ code for the simulator is
~
~
#include
dvector growth_function(const dvector & age,const dvector& theta)
{
dvector tmp=theta(1)*(1.0-exp(-theta(
2)*age)); // use you own
return tmp; // growth function here
}
int main(int argc,char * argv[])
{
int n=2000;
int nm=16;
int iseed=289;
random_number_generator rng(iseed);
dvector p1(1,2); // priori probability that a child is in group 1 or 2
p1(1)=.4; p1(2)=.6;
dvector p2(1,2);
dmatrix M(1,2,1,2); // transition probabilities
M(1,1)=.8; // 1 remains 1
M(2,1)=.3; // 2 moves to 1
M(1,2)=.2; // 1 moves to 2
M(2,2)=.7; // 2 remains 2
dvector choose(1,n);
dvector choose1(1,n);
double sigma=0.08;
double rho=0.9;
dmatrix size(1,n,1,nm);
imatrix group(1,n,1,2);
dvector age(1,nm);
dvector eta(1,nm);
dvector eps(1,nm);
age.fill_seqadd(.2,.2);
age(13)=8;
age(14)=11;
age(15)=15;
age(16)=19;
dmatrix theta(1,2,1,2); //parameters for growth curves
theta(1,1)=100;
theta(2,1)=120;
theta(1,2)=.11;
theta(2,2)=.11;
choose.fill_randu(rng); // use to pick group that each child belongs to
choose1.fill_randu(rng); // use to pick group that each child belongs to
int i;
for (i=1;i<=n;i++) // loop over children { if (choose(i)age(1,12),theta(group(i,1)));
size(i)(13,16)=growth_function(age(13,16),theta(group(i,2)));
}
double rho2=rho*rho;
for (i=1;i<=n;i++) // loop over children and add noise { eta.fill_randn(rng); eps(1)=eta(1); int j; for (j=2;j<=4;j++) // loop over children and add noise { eps(j)=rho*eps(j-1)+sqrt(1.0-rho2)*eta(j);
}
eps(5)=eta(1);
for (j=6;j<=16;j++) // loop over children and add noise { eps(j)=rho*eps(j-1)+sqrt(1.0-rho2)*eta(j);
}
size(i)=elem_prod(size(i),exp(sigma*eps)); // lognormal error
}
ofstream ofs("growth.dat");
ofs << "# nobs" << i="1;i<=" lmin="min(column(sizes,nm));" lmax="max(column(sizes,nm));" sigma="exp(lsigma);" vinv="1.0/(sigma*sigma);" i="1;i<=" j="1;j<=" i="1;i<=" j="1;j<=" ic1="inv(cor1);" ic2="inv(cor2);" is1="ic1*vinv;" is2="ic2*vinv;" lds1="ln_det(is1);" lds2="ln_det(is2);" psum1="sum(p1coff);" p1="p1coff/psum1;" psum2="sum(p2coff);" p2="p2coff/psum2;" lmax="max(column(sizes,nm));">exp(-k(1)*ages)));
pred_size(2)=log(Linf(2)*(1.0-exp(-k(2)*ages)));
FUNCTION get_likelihood
int i;
dvar_matrix res(1,2,1,nm);
for (i=1;i<=n;i++) { res(1)=log(sizes(i))-pred_size(1);
res(2)=log(sizes(i))-pred_size(2);
dvar_vector res1a=res(1)(1,12);
dvar_vector res1b=(res(1)(13,16)).shift(1);
dvar_vector res2a=res(2)(1,12);
dvar_vector res2b=(res(2)(13,16)).shift(1);
dvariable l1a=exp(-0.5*res1a*(is1*res1a));
dvariable l1b=exp(-0.5*res1b*(is2*res1b));
dvariable l2a=exp(-0.5*res2a*(is1*res2a));
dvariable l2b=exp(-0.5*res2b*(is2*res2b));
f-=log(1.e-10+(p1(1)*l1a+p1(2)*l2a));
f-=log(1.e-10+(p2(1)*l1b+p2(2)*l2b));
f-=0.5*(lds1+lds2);
q0(i,1)=value(p1(1))*value(l1a);
q0(i,2)=value(p1(2))*value(l2a);
q0(i)/=sum(q0(i));
q1(i,1)=value(p2(1))*value(l1b);
q1(i,2)=value(p2(2))*value(l2b);
q1(i)/=sum(q1(i));
}
REPORT_SECTION
report <<>
--------------------------------------------------------------------------------------------------------
Sunday, February 22, 2009
Interesting article on netbook, Linux, and Windows
http://www.netbookdigest.com/2009/02/20/the-linux-netbook-nightmare435-million-in-vaporized-2008-profits-continued/
VPN command
I need to type these two commands in order to get my VPN working:
- sudo /etc/init.d/vpnclient_init start
- vpnclient connect sscvpn
Saturday, February 21, 2009
VPN on Linux
I figured out how to get my Ubuntu box talk to UCLA VPN. Now I don't need to switch to Windows to use that service anymore.
Thursday, February 19, 2009
Get back to research
I spent the past several days writing proposal, now it is done and it's time to get back to my research.
Sunday, February 15, 2009
Papers
My paper on schizophrenia (Social Science & Medicine) and long-term mortality consequences of famine (Journal of Biosocial Science) are going to see online version soon.
Private blog for research progress
I open a private blog to record the progress of my research: http://sgsong-research-plan.blogspot.com/
Friday, February 13, 2009
Dell Latitude ON
This seems to an amazing idea (and product): http://blogs.computerworld.com/the_first_dual_windows_linux_pcs_arrive
I wonder how this work. For example, is it possible to run the usual Linux stuff such as gcc, emacs, bash, etc. on it? Is possible to install more software?
I wonder how this work. For example, is it possible to run the usual Linux stuff such as gcc, emacs, bash, etc. on it? Is possible to install more software?
Thursday, February 12, 2009
Emacs again
The most recent CVS update broke Emacs. I follow this instruction (http://www.nabble.com/recent-checkin-broke-the-Emacs-build-td21969877.html) to get it up and running again. Man, life without Emacs is hard.
Tuesday, February 10, 2009
What if Apple loses the case?
http://www.osnews.com/story/20946/Small_Win_Psystar_Judge_Hints_at_Consequences_if_Psystar_Wins
I guess by definition, being "fans" of something or someone means not being able to calculate or reason rationally...
I guess by definition, being "fans" of something or someone means not being able to calculate or reason rationally...
Monday, February 09, 2009
Linux computer
This site is useful: http://linuxpreloaded.com/
Linux on laptop: http://emperorlinux.com/
I did some comparisons and realized that the Emperiorlinux is charging around $500-$900 premium per machine for the same model and the same configuration form Dell and Lenovo. I am not sure their service worth that much. Yeah they got more models than System 76 and LAClinux, but the price is just way too high.
Linux on laptop: http://emperorlinux.com/
I did some comparisons and realized that the Emperiorlinux is charging around $500-$900 premium per machine for the same model and the same configuration form Dell and Lenovo. I am not sure their service worth that much. Yeah they got more models than System 76 and LAClinux, but the price is just way too high.
Chinees lanauge article on sociology methodology
http://www.sociology.cass.net.cn/shxw/zxwz/t20090207_20455.htm
Multilevel mixture model
The multilevel mixture model that Bengt and his group have been working on can be of significant importance to demographers, especially those who are obsessed with the idea of "frailty", like myself. I need to do more reading on this.
Sunday, February 08, 2009
Linux workstation options
I wonder what are options to buy a workstation-level machine powered by Linux (I like Ubuntu). System 7 seems to be selling some pretty powerful desktop computers, but I really do not know how well they perform in real world computation.
Friday, February 06, 2009
CVS Emacs
I noticed today that the version number of the CVS version of Emacs has changed from 23.0.60 to 23.0.90, getting closer to a new major release.
Wednesday, February 04, 2009
Starting value for aML
Feeding aML good starting values is crucial for fast convergence. I followed the suggestions offered by the aML manual for a while. Now I no longer need to struggle with the manual: it becomes a fun game that I am really good at.
The secret is to build up complicated models piece by piece, use estimates from the simpler models as the starting values of the more complicated ones; and use stepwise procedure to get good estimates for the intercepts, then fixed effects, then random effects.
The secret is to build up complicated models piece by piece, use estimates from the simpler models as the starting values of the more complicated ones; and use stepwise procedure to get good estimates for the intercepts, then fixed effects, then random effects.
Tuesday, February 03, 2009
Interesting article on Linux vs. Windows
in Chinese: http://www.linuxeden.com/html/news/20090203/63843.html
Monday, February 02, 2009
Use "label data" to keep track of Stata programs
It is wise to put a label data command at the end of a data-generation or data-modification Stata program file with something like:
label data "Created by ~/project/inter_generation/program/live_birth.do"
To make sure the new data set can be easily matched to the program that created it.
label data "Created by ~/project/inter_generation/program/live_birth.do"
To make sure the new data set can be easily matched to the program that created it.
Saturday, January 31, 2009
LaTeX file management using Subversion
Here are several helpful articles on this topic: http://www.tug.org/pracjourn/2007-3/index.html
Geany is a saver
Again, I find Geany is a very convenient IDE tool to work with single file C programs such as those provided with the Apophenia library. With compiler command of "gcc -Wall -std=c99 -c -lapophenia -lgsl -lgslcblas -lsqlite3 "%f"" and build command of "gcc -Wall -std=c99 -lapophenia -lgsl -lgslcblas -lsqlite3 -o "%e" "%f"", it saved a lot of typing.
C99 vs. C90
In playing with the source code coming with the book "Modeling with Data" on my Ubuntu box, I discovered one thing: code looks like this:
...
for (int i = 0; i < N; i ++) {
...
}
...
does not work with the default gcc command line options and issues error message of "Error: 'for' loop initial declaration used outside c99 mode".
The way to fix is either to change the code to:
...
int i;
...
for (i = 0; i < N; i ++) {
...
}
...
or put a "-std=c99" in the command line switch and do nothing with the source code.
...
for (int i = 0; i < N; i ++) {
...
}
...
does not work with the default gcc command line options and issues error message of "Error: 'for' loop initial declaration used outside c99 mode".
The way to fix is either to change the code to:
...
int i;
...
for (i = 0; i < N; i ++) {
...
}
...
or put a "-std=c99" in the command line switch and do nothing with the source code.
Netbooks
This is the place to look for Linux-based netbook computer: http://linuxdevices.com/
Some important tips to unleash the full Linux power on EeePC: http://www.techradar.com/news/mobile-computing/12-handy-tips-for-your-new-linux-netbook-496743
Some important tips to unleash the full Linux power on EeePC: http://www.techradar.com/news/mobile-computing/12-handy-tips-for-your-new-linux-netbook-496743
Thursday, January 29, 2009
On "average causal effects"
Schafer and Kang compared the following methods of estimating average causal effects:
- Simple difference in means;
- Regression and ANCOVA;
- Regression estimation;
- Matching;
- Inverse-propensity weighting;
- Subclassification;
- Weighted residual bias corrections;
- Weighted regression estimation;
- Regression estimation with propensity-related covariates.
Atom Is Going to Hurt Software Industry?
This guy is being ridiculous: http://www.osnews.com/story/20874/NVIDIA_CEO_Atom_Is_Going_to_Hurt_Software_Industry
Somebody once said that Linux was goint to hurt the software industry...
Somebody once said that Linux was goint to hurt the software industry...
Wednesday, January 28, 2009
HP Mini 1000 Mi Edition
For a Linux-based low-cost netbook, this seems to be the way to go: http://www.notebookreview.com/default.asp?newsID=4818
Just found that that the command line interface was disabled in this version and users cannot install their own application (http://www.mediabistro.com/mobiledevicestoday/on/hps_mobile_internet_experience_locks_you_into_their_applications_model_98701.asp), are they kidding?
Monday, January 26, 2009
A Software Populist Who Doesn’t Do Windows
http://www.nytimes.com/2009/01/11/business/11ubuntu.html?_r=1
Finite mixture modeling with ADMB
The one area that ADMB can potentially be of great importance is in those computation-intensive areas such as finite mixture modeling. I remember I used to run Mplus on a dual-core computer for days to estimate the sequential growth mixture model. Once I get some time, I will try to port my Mplus model into ADMB (if it is possible at all) and see how it compares with Mplus regarding computation time.
I hope open-sourcing ADMB does not mean stopping its development, as in the aML case. aML has some basic capabilities for finite mixture modeling, but it seems that the development is not going to continue.
Also, I wish the ADMB team can make available a more comprehensive set of examples, especially those with results that can be compared to other statistical packages such as R, Stata, SAS, even aML. This will certainly help gain more users outside fishery.
I hope open-sourcing ADMB does not mean stopping its development, as in the aML case. aML has some basic capabilities for finite mixture modeling, but it seems that the development is not going to continue.
Also, I wish the ADMB team can make available a more comprehensive set of examples, especially those with results that can be compared to other statistical packages such as R, Stata, SAS, even aML. This will certainly help gain more users outside fishery.
Saturday, January 24, 2009
Reading objects into R
This file (http://admb-project.org/community/tutorials-and-examples/reading-report-files-using-r) can be tailored to read results of other formats (i.e. aML) into R for further manipulation.
Also the package "X2R" (http://www.sefsc.noaa.gov/mprager/rinter.html). However, this package does not seem to work with GCC 4 yet (it worked with MingW fine, which has GCC 3, but not on my Ubuntu, which has GCC 4).
Also the package "X2R" (http://www.sefsc.noaa.gov/mprager/rinter.html). However, this package does not seem to work with GCC 4 yet (it worked with MingW fine, which has GCC 3, but not on my Ubuntu, which has GCC 4).
AD Model Builder, revisted
Following the instruction (http://admb-project.org/documentation/admb-installation-linux), I got ADMB installed and running on my Ubuntu laptop. I have not spent much time on it, but its design philosophy, convert text input into C++ source file and then compile and run the resulted C++ file, seems to be promising, and is certainly advantageous over its competitor with regard to performance. After all, what runs faster than fully optimized C++ code?
It also works on Windows using MingW.
Here is the interface between ADMB (and a few other languages) and R: http://www.sefsc.noaa.gov/mprager/rinter.html
Here is the interface between ADMB (and a few other languages) and R: http://www.sefsc.noaa.gov/mprager/rinter.html
This is an Emacs editing environment for ADMB: http://wilberglab.cbl.umces.edu/downloads.html, but the Emacs version is quite old.
A benchmark can be found here: http://www.otter-rsch.com/admbre/examples/socatt/socatt.html
This is the ADMB random effect modeling homepage: http://otter-rsch.com/admbre/admbre.html
Friday, January 23, 2009
Joint modeling longitudinal and survival processes
The JM package (http://wiki.r-project.org/rwiki/doku.php?id=packages:cran:jm) seems to be promising. I only wish the documentation can be more detailed.
Wednesday, January 21, 2009
The Frailty Model
This is a very good book: http://www.springer.com/statistics/stats+life+sci/book/978-0-387-72834-6
Unfortunately, the sample programs provided at the web site are limited to the first five chapters and the really fun stuffs such as multifrailty model, multilevel frailty model, correlate frailty model, and joint modeling are not there. This is surprise because none of the stuff is impossible to implement with currently available software.
Unfortunately, the sample programs provided at the web site are limited to the first five chapters and the really fun stuffs such as multifrailty model, multilevel frailty model, correlate frailty model, and joint modeling are not there. This is surprise because none of the stuff is impossible to implement with currently available software.
Monday, January 19, 2009
How to write a lot
A good (although short) book on academic writing, highly recommended: http://books.apa.org/books.cfm?id=4441010
Bayesian
JAGS (http://calvin.iarc.fr/~martyn/software/jags/) is a cross-platform version of BUGS, which can only be used on Windows. There are couple of R packages that can be used to bridge JAGS and R to facilitate convergence diagnosis and results presentation.
Thursday, January 15, 2009
Books to check out tomorrow
- Resampling methods : a practical guide to data analysis / Phillip I. Good (QA278.8 .G66 2006)
Tuesday, January 13, 2009
Note taking
I have tried various note taking software and eventually settled with Google Notebook because
- It is free;
- It is cross-platform;
- It is very lightweight;
- It is evolving.
Monday, January 12, 2009
Relative distribution as a way to look at famine mortality?
I am not sure. It is difficult to tackle the issue of the differential mortality caused by famine. Maybe it can be reduced to a series of statistical simulations and look at the relative distribution of some health indicators. I need to put more thoughts in this.
Saturday, January 10, 2009
Wednesday, January 07, 2009
R on New York Times
http://www.nytimes.com/2009/01/07/technology/business-computing/07program.html?_r=1&partner=rss&emc=rss
It generated a great deal of interest on the R mailing list.
It generated a great deal of interest on the R mailing list.
Saturday, January 03, 2009
Demography
Demography accepts PDF submission, which is almost the same thing as accepting LaTeX. I am going to make a LaTeX style file based on the one for Political Analysis.
Thursday, January 01, 2009
Exciting new begining
I was quite depressed yesterday because the sex ratio research did not go as well as I expected. But earlier today I have some exciting new results regarding another paper, an extension of my famine research, and the new year does represent an exciting new beginning.
Subscribe to:
Posts (Atom)