Distinguishing cause from effect using observational data: methods and benchmarks